VC中DLL导出函数时注意事项
2013-06-10 19:37
232 查看
① 当DLL使用为C++为源文件时,导出的函数需要在头文件上添加:
② 用上面方法仍不能被外部函数所识别的( 带有XXX@数字的),用下面方法:
设一个需要导出的函数为:
则:
上面的DLLTEST_API定义为:
#define
DLLTEST_API __declspec(dllexport)
如上处理后,导出函数名为:KeyboardProc;
如上面注释中描述的,DLL中的导出函数,应该经常用VC工具 DependencyWalker 查看!
extern "C" { //导出函数声明...... };
② 用上面方法仍不能被外部函数所识别的( 带有XXX@数字的),用下面方法:
设一个需要导出的函数为:
LRESULT CALLBACK KeyboardProc (INT nCode, WPARAM wParam, //存放着VK值 LPARAM lParam //存放着重复次数、扫描码、扩展.... );
则:
//
// 强制导出函数:_KeyboardProc@12 的别名为:KeyboardProc
// 规则是前面加 【__函数名@参数字节数】,具体可以使用
// Dependency Walker工具查看被修改了的名字
//
#pragma comment(linker, "/export:KeyboardProc=_KeyboardProc@12")
//
// 为外部C语言的留出一个标准的导出函数接口
extern "C"
{
//导出函数
DLLTEST_APILRESULT CALLBACK KeyboardProc (INT nCode, WPARAM wParam, //存放着VK值 LPARAM lParam //存放着重复次数、扫描码、扩展.... );};
上面的DLLTEST_API定义为:
#define
DLLTEST_API __declspec(dllexport)
如上处理后,导出函数名为:KeyboardProc;
如上面注释中描述的,DLL中的导出函数,应该经常用VC工具 DependencyWalker 查看!
相关文章推荐
- VC中程序调用Js自定义函数的注意事项
- VC中创建DLL,导出全局变量,函数和类
- VC运行时复制函数代码的注意事项
- VC中创建DLL,导出全局变量,函数和类 (转)
- VC++编写DLL导出函数及其调用方法
- VC中程序调用Js自定义函数的注意事项
- VC中创建DLL,导出全局变量,函数和类(隐式调用)
- VC中创建DLL,导出全局变量,函数和类
- VC中创建DLL,导出全局变量,函数和类
- VC中程序调用Js自定义函数的注意事项
- VC.NET写的DLL导出函数的奇怪现象
- VC遍历dll导出函数
- 解析VC中创建DLL,导出全局变量,函数和类的深入分析
- VC中DLL工程创建注意事项
- 显示调用DLL 应该注意DLL导出函数的调用约定问题
- 在ObjectArx中调用dll中的导出对话框或控件时的注意事项
- VC生成的dll中导出函数名三种方法
- VC++编写DLL导出函数通用方法
- VB调用VC写的DLL导出函数出现“Bad DLL call convention”的解决
- VC中使用OnSize函数,设置控件位置的注意事项