zoukankan      html  css  js  c++  java
  • c++动态库与静态库

    windows下:

        在进行库创建的时候会用到导出符号,在函数,类的声明处直接指出。

        静态库:用的时候通常将 #pagram (lib,"name"),包含头文件,可以使用任何导出类。

        动态库:利用Loadlibrary等函数获得动态的东西使用,针对导出含有类的库,如果要使用其中的类,不管是静态库还是动态库,都需要包含相关的头文件,特别是基类的头文件。

    linux:

        在进行库的创建的时候,只有在编译的时候会用到相应的参数,如-shared,在类,函数的声明处没有额外的导出参数。

        静态库:用的时候直接包含库,以及相关需要的头文件即可,注意路径。其实是所以.o文件的压缩包。

        动态库:用的时候会用到#include<dlfcn.h>里的库函数,如dlopen等,其余的使用与windows下使用类似。

    通用:

        无论是在windows下还是linux下,对于还有类的导出是避免不了的,一种方法是把需要的类全部加上导出符号导出,但是这种方法非常不明智;另一种方法是充分利用抽象类的作用(可以从抽象类派生出需要的实用的类),在生成相关库的时候是遵守相关约定的,因此,可以充分利用这一点,然后暴漏接口。针对这一点,具体可以参考下面的网址:

    http://blog.csdn.net/clever101/article/details/3034743

    以及本人博客之后的《c++导出dll类》一文。

    其它可用资源:

    http://blog.csdn.net/xuguang121/article/details/7457565

  • 相关阅读:
    PHP $_GET 获取 HTML表单(Form) 或url数据
    dedecms {dede:php}标签用法介绍
    php 连接mysql实例代码
    php 常量、变量用法详细介绍
    mysql出现too many connections错误提示
    支持中文字母数字、自定义字体php验证码程序
    我的LinqToSql学习笔记(1)
    使用Git新建项目 (命令行)
    使用SQL Server Profiler
    sqlserver2008 中使用 表值 参数
  • 原文地址:https://www.cnblogs.com/foreverstars/p/3416948.html
Copyright © 2011-2022 走看看