每个程序都是从WinMain进入的,只是进入的时候你不知道而已,单步的时候可以看到是从WinMain进入的
因为程序是从Main(WinMain)开始。 但是在Main(WinMain)开始之前会对全局的变量或者对象进行初始化。 故在MFC中,通过通过全局类(theApp) 的初始化, 进入theApp的构造函数,根据类的规则,初始子类的构造函数,必须先要运行父类的构造函数。 在这过程把包含WinMain的文件连接了进来。 这样就隐藏了WinMain函数。 在WinMain函数中调用了AfxWinMain函数,在AfxWinMain函数中通过调用InitInstance函数完成了窗口的设计 窗口的注册 窗口的创建 窗口的显示和更新。然后在AfxWinMain中调用了Run方法,完成消息循环。
WinMain是入口函数
WinMain是在编译的时候调用
打开你vc vc98-mfc-src
找 appmodul.h
winmain的定义
extern "C" int WINAPI
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
// call shared/exported WinMain
return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
}
_tWinMain是个宏 其实就是WinMain