【发布时间】:2012-05-14 16:58:17
【问题描述】:
为什么我的派生 CWinApp 的构造函数应该在 main 函数启动之前被调用?
为什么不能是这样的:
int WinMain()
{
CMainFrame* pMainFrame = new CMainFrame;
// etc ...
}
我正在寻找导致这种行为的技术原因。
编辑:
为了更清楚 - 如果我使用没有 MFC 的 win32 API,主窗口是在 WinMain 中创建的,那么有什么区别?
【问题讨论】:
-
大概是
CWinApp的构造函数在main函数运行之前 运行。但我实际上并不确定;我从来没有尝试过这样做,看看它是否有效。你有吗? -
@CodyGray 是的,我试过了。应用程序在 AfxWinMain 中崩溃
-
啊,是的,正如弗雷德里克的回答所预测的那样。
CWinApp的构造函数正在设置一些状态变量的值,这是AfxWinMain所期望的。
标签: c++ windows user-interface mfc