首页 > 代码库 > DLL中导出全局变量
DLL中导出全局变量
1. DEF文件
1 EXPORTS2 3 g_nTest DATA ;导出全局变量4 5 GetGlobalVar ;导出函数
2. 调用
1 extern int g_nTest; //声明2 3 int main(int argc, char *argv[])4 {5 *(int*)g_nTest = 1; //注意前面的转换6 7 return 0;8 }
需要注意的是用 extern int g_nTest 声明所导入的并不是DLL中全局变量本身,而是其地址,应用程序必须通过强制指针转换来使用DLL中的全局变量。这一点,从
*(int*)g_nTest 可以看出。
3. 更好的调用
1 extern int _declspec(dllimport) g_nTest; //用_declspec(dllimport)导入2 int main(int argc, char *argv[])3 {4 g_nTest = 1; //可以直接使用, 无须进行转换5 6 return 0;7 }
通过 _declspec(dllimport) 方式导入的是全局变量本身,而不再是其地址了。
DLL中导出全局变量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。