问题描述
- 动态库的导出和使用问题
-
一直不懂__declspec(dllimport) 和 __declspec(dllexport) 具体是什么作用,以及区别。
求解答? 非常感谢
解决方案
导入库,就是这个函数在外部dll中定义,可以被本程序调用
导出,就是告诉链接器产生导出符号表,使得dll可以被别的程序调用,特别地,链接器会产生函数名和函数入口地址的表,供动态加载dll时使用。
解决方案二:
导出dllexport,告诉编译器这个修饰的函数作为导出函数,因为windows上默认是不会导出函数的,这个跟Linux 上不同。
而dllimport时告书编译器这个函数不是在模块内实现的,函数实现在别的模块,编译器在函数地址做重置时需要外部模块寻找地址。最终修改为外部模块函数实现地址。
时间: 2024-11-02 01:01:14