C++控制台程序是命令行黑框,如果要写一个图形界面,VS也提供了图形界面编程MFC。建项目的时候选如下选项:
类似于QT。
问:那么MFC项目的运行入口main()或WinMain()在哪里呢?
答:其实,在MFC应用程序中,MFC维护着一个WinMain()函数,只是它被隐藏了。通过你写的MFC代码,你已经建立了一个CWinApp对象,这个全局对象的初始化工作在WinMain()被调用之前就已经完成。
以一个简单例子说明:
// The minimal MFC program
************************************************
#include <afxwin.h>
class CMinApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
// 重载的InitInstance()实现
BOOL CMinApp::InitInstance ()
{
// 分配C 窗口对象
CFrameWnd * pFrame = new CFrameWnd();
// 创建窗口并命名标题栏,_T()是支持UNICODE之用,
pFrame->Create( 0, _T( "A Minimal MFC Program" ) );
// 显示窗口
pFrame->ShowWindow( SW_SHOWDEFAULT );
pFrame->UpdateWindow ();
// 将已经指定的框架与应用程序对象建立关联
AfxGetApp()->m_pMainWnd = pFrame;
return TRUE;
}
// 创建唯一的也是必须的应用程序对象。它不存在任何函数之中,是全局对象。
CMinApp MyApp;
一般可以简单的认为,CMinApp MyApp是程序的入口。
参考: MFC程序入口分析_愤怒的北方酱的博客-CSDN博客