DLL导出函数的声明和调用
声明导出函数:
DLL内的函数分两种:只在DLL内部调用的、DLL导出函数——供应用程序调用
声明导出函数两种方法:
(1)在函数声明中加上extern"C" int _declspec(dllexport)add(int x,int y);//一定要加上extern "C"
(2)采用模块定义(.def)文件声明。.def文件为链接器提供了有关被链接程序的导出、属性和其他信息。
MFC AppWizard为MFC DLL创建一个.def文件,而Win32 DLL,用户必须自己创建.def文件。
.def定义示例代码如下:
;dll.def:导出DLL函数
LIBRARY dllTest
DESCRIPTION "math"
EXPORTS
GlobleVar DATA
add @1
sub @2
.def文件的规则为:
(1)LIBRARY语句指出DLL的名字
(2)EXPORTS语句后列出一系列函数名称。可以在导出函数后加@n,表示函数序号。
(3);表示注释,且注释不能和语句共享一行。
(4)可选部分——DESCRIPTION语句,原来描述DLL的用途。
(5)变量名 DATA:导出全局变量
DLL的调用(加载)方式:
(1)动态调用(显式链接)
LoadLibrary()<