静态库和动态库(com/ole Dcom /com组件和普通dll)编写规范

来源:互联网 发布:淘宝手机支付成功界面 编辑:程序博客网 时间:2024/06/04 19:04

静态库和动态库

 

静态库和动态库都可以有类 函数接口和全局变量

 

静态库

           相当于CPP文件一样使用,其中的全局变量为调用它的dll或exe中的全局变量,lib被包含到其中生成一个dll或exe

动态库

          动态链接库在代码段只有一份,在调用它的进程中产生一份自己的空间,导出的倍份,会拷贝一份到所在进程的空间(只进行一次拷贝)。

         dllmain会在相关它的线程和进程时都执行一次,loadlibrary使其执行

         

         vs2010 静态调用 实现导出函数接口、导出类、导出变量、接口由vs2010管理,内部使用的仍然是loadlibrary.

 

         动态调用 导出函数接口、导出变量、都通过def文件或 dllexeport,导出数使用抽像类,抽象出来的类便是要导会的类体,导出的实体继承抽像类,实现子类父类化,若要导出

变量则需要将导出的变量放在抽像类中,即父类中。

         导出类的新方法: 实整写好类体,使用头文件或def文件 重新声明要导出的类的函数同时定义一个类全局指针, 定义new操作的导出函数和delete的导出函数,定义导出的

接口函数替代类中要导出的。

LUL推荐规则

   1、lib中不存放任可全局变量

    2、dll中 只导出函数接口 不导出任何别的东西

 

 参考资料:http://www.codeproject.com/Articles/28969/HowTo-Export-C-classes-from-a-DLL

 

        

 

原创粉丝点击