一、导出全局函数
前期是使用模块定义文件导出,后期改为使用关键字导出时,不仅要将“项目”——“源文件”中的“xxxxxx.def”文件删除,还要将“属性”——“链接器”——“输入”——“模块定义文件”删除,否则会报错:“无法打开xxxxxx.def文件”。
二、通过关键字_declspec(dllexport)导出
使用关键字_declspec(dllexport)导出函数,在声明函数为导出函数时,要加上“extern "C" ”,如下:
extern "C" _declspec(dllexport) BOOL IPscan();
否则在调用动态链接库获取函数地址:
LanIPscan = (Function)GetProcAddress(hDll, "IPscan");
会出现获取函数失败的错误。