首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

动态调用dll,如何得到里面全局变量的值

2012-03-11 
动态调用dll,怎么得到里面全局变量的值?dll.h:#defineDLL_GLOBAL_EXPORT__declspec(dllexport)#defineDLL_

动态调用dll,怎么得到里面全局变量的值?
dll.h:
#define   DLL_GLOBAL_EXPORT   __declspec(dllexport)  
#define   DLL_EXPORT   extern   "C "   __declspec(dllexport)
dll.cpp:
DLL_GLOBAL_EXPORT   int   Global_i;   <--------改称Global_i=0;就不提示下边的警告
DLL_EXPORT   void   ExportFun()
              {
                  Global_i=100;     <—————undefined   reference   to  
              }

---------------------------------------
1.为什么编译的时候,上边的问题,如果DLL_GLOBAL_EXPORT   int   Global_i   =0;
就不提示
2.怎么在调用他的程序里得到Global_i得值?我返回的都是1,不知道为什么
---------------------------------------
谢谢帮忙


[解决办法]
_declspec(dllimport) unsigned char kk;
[解决办法]
我当时是用传参数的结构两边传数据的,搭车学习下新方法
[解决办法]
用GetProcAddress ( "VarName ")可以拿到变量的地址
警告应该和DLL的组织结构有关,我也不清楚,等高手解答
只知道未初始化的话变量会被放到BSS段去

热点排行