1.c++规定,全局对象的建构将比程序进入点(即main或者winmain)更早,所以theapp的构造函数将更早于mian或winmain.
2.
InitApplication和InitInstance
InitApplication和InitInstance现在成为MFC的CWinApp的两个虚函数,前者负责“每一个程序只做一次”的操作,后者负责“每一个例程都得做一次”的操作。 “每一个程序”指的是进程的概念。“每一个例程”指的是线程的概念。所以InitApplication负责“每一个程序只做一次”的操作。而InitInstance是每一个线程都具有的函数,只不过很多情况下,你自己开的线程没有重载该函数。
其实在基于CWinApp的程序中InitApplication和InitInstance都只执行一次。InitApplication是MFC的较老的入口函数,现在一般不重载InitApplication而直接重载InitInstance。
MFC编写的的WinMain函数则调用了CWinApp::InitInstance函数,所以InitInstance看起来似乎就是MFC程序的入口点。
然后可以在InitInstance函数中new CFrameWnd,从而实现窗口类的创建。