VC生成的dll中导出函数名三种方法

来源:互联网 发布:圣斗士星矢 知乎 编辑:程序博客网 时间:2024/06/11 14:56
有三种方法可以在VC生成的dll中导出原始函数名称:
1. 使用.def文件
这个方法通用性最好,建议使用。

2. 使用#pragma comment(linker, ......)
该方法受限于VC的编译器,x86和x64的编译器编译出来的函数名称是不一样的。因此需要根据这两种编译器分别编写pragma。灵活性较差。
如: int add(int *a); 该函数在x86上生成的函数名字为:_add@4, 而在x64编译器上生成的函数名字则为:_add@8。

3. 函数以extern "C"修饰,参数调用规则使用缺省或cdecl(最起码不可以是stdcall)
extern "C" __declspec(dllexport) int [cdecl] add(int, int);
该方法限定性较大,用起来比较死板,但省却了.def。
原创粉丝点击