全局初始化
大家写代码的时候,假如写了一个组件,自身需要开一个线程的。那么多数是在初始化代码中直接写开线程的。如果要求这个类不在初始化代码中添加函数,怎么做?
MSDN中有个例子,不是解决这个问题的,但是可以用。
class DialogWindow{
public:
static short GetTextHeight(){
return 1;
};
private:
static short nTextHeight;
};
short DialogWindow :: nTextHeight = GetTextHeight();
int main(){}
在这里,把GetTextHeight里面添加上你需要的代码就可以了。
但是注意,这些代码的运行时间要早于main(准确的说,是在wmainCRTStartup里面运行的_c_init函数)。所以很多自然而然就有的初始化没做,你自己在main里面调用的初始化(例如WSAStartup啦,GDI+初始化啦)更是没做。所以必须严格测试。