1、导出普通函数
为了让DLL导出一些函数,需要在每一个将要被导出的函数前添加标识符:_declspec(dllexport)如:
_declspec(dllexport) int add(int a,intb){return a+b;}
编译生成DLL后使用dumpbin查看的到
Ordinal hint RVA name
1 0 0001107D ?add@@YAHHH@Z = @ILT+120(?add@@YAHHH@Z)
其中Ordinal信息:1是导出函数的序号
Hint:数字是提示码,该信息不重要。
RVA:列出的地址是导出函数在DLL模块中的位置
Name:是导出函数的名称。?add@@YAHHH@Z主要是重载函数的命名。参见重载函数的命名方式。
2、导出C++类
实际上在动态链接库中还可以导出C++的类例如:
#define DLL_EXPORT_declspec(dllexport)
Class DLL_EXPORTPoint{
Public:
Void output(int x,int y);
}
也可以单独导出类的的成员函数
Class P