博客日历
| 2026年01月 | ||||||
| 一 | 二 | 三 | 四 | 五 | 六 | 七 |
| 29 | 30 | 31 | 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | 1 |
存档
2025年03月 11月 2024年
03月 04月 05月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
MFC学习笔记之6:不使用IDE,从命令行编译简单的MFC应用程序
源代码SimpleMFCSample.cpp如下:
#include <afxwin.h>
//从Java或者C#的角度来看,可以认为CMyApp是"主类"
//且"主类"必须继承自CWinApp
class CMyApp:public CWinApp
{
public:
BOOL InitInstance()
{
//这里随便定义了一个窗口类的对象
//注意:CFrameWnd实现了PostNcDestroy,该方法中调用了delete this。
//所以不需要自己显式调用delete
//注意:CFrameWnd实现了PostNcDestroy,该方法中调用了delete this。
//所以不需要自己显式调用delete
CFrameWnd* pWnd=new CFrameWnd();
pWnd->Create(NULL,"test window");
pWnd->ShowWindow(SW_SHOW);
pWnd->UpdateWindow();
//CWinThread::m_pMainWnd
//如果这个数据成员为NULL,MFC将终止当前线程
m_pMainWnd=pWnd;
return TRUE;
}
};
//MFC应用程序的核心就是基于CWinApp的应用程序对象
//它必须是全局对象
CMyApp theApp;
编译命令:
cl.exe /MTd /Zi SimpleMFCSample.cpp /link /SUBSYSTEM:WINDOWS
命令行的选项解释:
/MTd 使用LIBCMTD.lib编译以创建调试多线程可执行文件
/Zi 生成完整的调试信息
/link 从/link开始,其后的参数都传递给链接器
/SUBSYSTEM:WINDOWS 通知操作系统如何运行.exe 文件(作为控制台程序还是窗口应用程序)
上一篇: 在思源学院拍的电视剧《多梦季节》
下一篇: MFC学习笔记之7:如何创建关闭无模式对话框
分类:Win32/C++ 查看次数:5940 发布时间:2009/7/8 17:26:47