DLL中导出全局变量
2014-08-31 13:10
330 查看
1. DEF文件
2. 调用
需要注意的是用 extern int g_nTest 声明所导入的并不是DLL中全局变量本身,而是其地址,应用程序必须通过强制指针转换来使用DLL中的全局变量。这一点,从
*(int*)g_nTest 可以看出。
3. 更好的调用
通过 _declspec(dllimport) 方式导入的是全局变量本身,而不再是其地址了。
EXPORTS g_nTest DATA ;导出全局变量 GetGlobalVar ;导出函数
2. 调用
extern int g_nTest; //声明 int main(int argc, char *argv[]) { *(int*)g_nTest = 1; //注意前面的转换 return 0; }
需要注意的是用 extern int g_nTest 声明所导入的并不是DLL中全局变量本身,而是其地址,应用程序必须通过强制指针转换来使用DLL中的全局变量。这一点,从
*(int*)g_nTest 可以看出。
3. 更好的调用
extern int _declspec(dllimport) g_nTest; //用_declspec(dllimport)导入 int main(int argc, char *argv[]) { g_nTest = 1; //可以直接使用, 无须进行转换 return 0; }
通过 _declspec(dllimport) 方式导入的是全局变量本身,而不再是其地址了。
相关文章推荐
- DLL导出全局变量在多个DLL中调用
- VC++中DLL中全局变量的导出和导入
- VC中创建DLL,导出全局变量,函数和类 (转)
- DLL中导出全局变量的方法及导入时需要注意的问题
- 全局变量的声明和定义 以及dll中全局变量的导出
- VC中创建DLL,导出全局变量,函数和类
- 解析VC中创建DLL,导出全局变量,函数和类的深入分析
- VC中创建DLL,导出全局变量,函数和类(隐式调用)
- VC中创建DLL,导出全局变量,函数和类
- VC中创建DLL,导出全局变量,函数和类
- DLL中导出全局变量
- 从DLL中导出变量学习
- dll和exe的共享节------多进程共享dll/exe全局变量
- linux动态链接库全局变量共享问题&DLL共享数据段
- 生成/创建 DLL 及调用/引用DLL里的函数、全局变量、静态C++类成员函数等
- [转]DLL中使用全局变量
- 从static变量导出问题解析 __declspec(dllexport) 和 __declspec(dllimport)的作用
- 关于DLL工程中存在全局变量可能导致MFC内存泄露误报的原因分析及解决办法
- 利用PDB文件获取未导出全局变量、函数等信息
- dll和exe的共享节------多进程共享dll/exe全局变量