lib、dll的生成与使用
http://www.cppblog.com/biao/archive/2013/03/14/198416.html
其中生成.dll的时候,并不会自动生成.lib文件,这样就无法进行调用。
为dll导出函数与类
方法1:使用 __declspec(dllimport) :
在函数(申明与定义)和类前添加__declspec(dllimport)
//类 导出标记在class与类名中间
class __declspec(dllimport) DependLib
//class DependLib
{
public:
DependLib();
~DependLib();
};
//函数
__declspec(dllexport) int DependAdd(int a, int b);
//int DependAdd(int a, int b);
方法2:使用模块定义(.def) 文件声明:
1.添加一个def文件
VS会自动在以下位置自动添加对应选项
2.def文件写入
LIBRARY
EXPORTS
DependAdd
;注释
其中注释可以使用“;”
参考文档:
使用__declspec(dllexport)导出函数与类:https://blog.csdn.net/qwq1503/article/details/85696279
使用def文件导出函数:https://www.cnblogs.com/Caden-liu8888/p/7131874.html
解决其他语言调用时的异常:
添加 extern “C”;
extern “C” _declspec(dllexport) int add(int a, int b);
https://www.cnblogs.com/TianFang/archive/2013/05/04/3059073.html
导出模板函数和模板类
https://blog.csdn.net/raby_gyl/article/details/64121657