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。
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。
相关文章推荐
- VC++编写DLL导出函数及其调用方法
- VC中生成动态链接库的三种方式(导出函数)
- VC++编写DLL导出函数通用方法
- 查看VC++生成的dll的方法或函数名[dumpbin使用方法]
- VC++ 调用 C#生成DLL的两种方法
- 解析VC中创建DLL,导出全局变量,函数和类的深入分析
- C++编译时函数名修饰约定规则和DLL中导出函数的方法
- VC中创建DLL,导出全局变量,函数和类
- C++ DLL导出函数的两种方法(导出序号那种方法,别人看不到函数名)
- 深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 让VB生成的DLL工程导出函数
- vc 运行exe时生成dll的方法
- C++编译时函数名修饰约定规则和DLL中导出函数的方法
- C#调用VC DLL接口函数参数类型转换方法介绍
- VC++ (MFC)调用 C#生成DLL的方法
- dll生成方法及函数调用规
- VC DLL方法的__declspec导入导出
- VC.NET写的DLL导出函数的奇怪现象
- vc++工程中.def文件的作用和动态库导出函数的方法.
- DLL导出函数名称改编的解决方法