摘要: 前面提到过C++具有函数重载功能,所以引出的函数名会有变化,即名称改编,如果是C语言编写的客户端则无法正确识别。 处理方法: ①只需在宏定义中间增加 extern "C",但这种使用仅针对导出的函数是全局的,如果导出的是类,则不能这样。 ②通过dumpbin查看导出的函数信息,可以看到函数名称跟我们 阅读全文
posted @ 2019-10-04 23:29 软件小菜 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 如何在动态链接库里导出一个类? ①在库头文件里增加一个类声明,class DLL1_API Point是将类内所有成员都导出,如果只导出某个成员函数,则只需在对应的成员函数前加DLL1_API即可; 注意的是导出类访问权限也受public和private限制; ②在库源程序里完善成员函数定义; ③在 阅读全文
posted @ 2019-10-04 23:01 软件小菜 阅读(3014) 评论(0) 推荐(1) 编辑
摘要: 因为动态链接库里的内容是自己定义的,所以在外部程序调用时我们自己知道库里包含哪些变量和函数,如果我们提供库给其他人使用,则最好增加一个头文件,告知库里包含的函数; ①将动态链接库源文件内容增加红色框内容,因为编译时候是不编译头文件的,通过include展开头文件; ②增加一个头文件,内容如下,如果外 阅读全文
posted @ 2019-10-04 21:36 软件小菜 阅读(1778) 评论(0) 推荐(0) 编辑
摘要: 静态库:函数和数据被编译进一个二进制文件,通常扩展名为.lib,在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件。 动态库:往往提供2个文件,一个是引入库和一个DLL,引入库包含被DLL导出的函数和变量的符号名,DL 阅读全文
posted @ 2019-10-04 10:36 软件小菜 阅读(14002) 评论(1) 推荐(2) 编辑