DLL中的全局变量问题。
在一个ATL COM项目里,有个放全局变量的头文件,里面放一静态变量
///////////////////
// global_var.h
///////////////////
static int test = 0;
在CAtlDllModule的DllMain函数里,访问这个变量,
和在Com的成员函数里,访问这个变量,发现值是不同的,变量test的地址也不一样,为什么?
用下面方式就可以代替,为什么?
///////////////////
// global_var.h
///////////////////
class global_vars
{
static int test;
};
static int global_vars::test = 0;