读书人

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

发布时间: 2012-03-11 18:15:39 作者: rapoo

动态调用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段去

读书人网 >C++

热点推荐