请教一个关于Dll的问题
我做了一个MFC扩展的Dll。在Dll中定义了一个导出函数(add)和一个导出变量(total,初值是0)。其中在add中将total的值改成5.
在调用程序中先调用Dll的add函数然后输出total的值,每次都是0.为什么不是5呢?谁能帮我解释一下,谢谢。
主要代码如下:
--------
global.h
extern "C"
{
int AFX_EXT_DATA total = 0;
int AFX_EXT_API add(int x,int y);
};
--------
global.cpp
#include "StdAfx.h"
#include "global.h"
//extern "C" int total;
int add(int x, int y)
{
total = x + y;
return total;
}
---------
调用端:
#pragma comment(lib,"..\\Debug\\ExtMFCImportVarFunction.lib")
#include "global.h"
int main(int argc, char* argv[])
{
cout<<add(2,3)<<endl;
cout<< total<<endl;
return 0;
};