请教:MFC中static 全局变量的两个地址
我使用vs.2003用MFC进行编程,用另外文件用来存放常用的静态全局变量和函数。发现静态变量被分配了两个空间。
***Dlg.h
# include my.h
***Dlg.cpp
#include ***Dlg.h
ClickButton
{
Init();
int k = nPortnum;
int *__w64 m = &nPortnum;
}
my.h
static nPortnum = 1;
void Init(void);
my.cpp
#include "my.h"
Init()
{
nPortnum = 2;
int *__w64 n = &nPortnum;
}
在运行过程中,发现nPortnum被分配了两个地址单元,也就是说在 Init()函数内外所取的地址m,n是不一样的。
请教如何解决!