在DLL中使用全局变量的疑问?
在一个DLL中用到2个类,大致结构如下:
//A.cpp
#include "b.h"
ClassB g_b;
A:A()
{
...
g_b.doSomeThing();
}
//B.cpp
B:B()
{
TRACE("b.constructor");
}
B:doSomething()
{
TRACE("b.dosomething.");
}
//大致结构如此,该类在Application中使用良好
但是在DLL中调用顺序却是
b.dosomething
b.constructor
也就是说构造函数在其后执行,何故?DLL的机制?