您的位置:首页 > 其它

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

2012-07-15 01:35 393 查看
有三种方法可以在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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: