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

有三种方法可以在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。

你可能感兴趣的:(C++,VC,dll,导出函数)