博客日历
| 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学习笔记之10:MFC应用程序的生与死
MFC框架要求在任何一个MFC应用程序中,必须定义一个全局的CWinApp派生类对象,MFC中的许许多多的类,函数都依靠此全局CWinApp对象来传递信息。我们知道全局变量的初始化会在入口函数执行之前执行,所以当执行到AfxWinMain时,此全局CWinApp对象已经构造完成。
要使用MFC,在MFC框架中填充我们自己的代码,我们只能选择在CWinApp类的InitInstance()函数中进行,而这里刚好调用了InitInstance()函数。待InitInstance()执行完成之后,通过pThread->Run函数,开始进入消息循环,从此,一个MFC应用程序活起来了。
当消息循环因为某些原因退出时,Run函数也完成了他的使命,于是,MFC应用程序Terminated了。
根据这些分析,我们可以建立一个史上最简MFC应用程序(其实一句CWinApp theApp;才算最简单,不过虽可以编译运行,但没什么用):
#include <afxwin.h>
直接用命令行编译:
cl /MT $文件名$.cpp /link /subsystem:windows
Java的书似乎都先讲public static void main(String[] args),C#也会先讲static void Main(string[] args),为什么没有什么MFC的书先讲InitInstance()呢?
上一篇: C++的#pragma预处理指令
下一篇: MultiByteToWideChar和WideCharToMultiByte函数的使用
分类:Win32/C++ 查看次数:6388 发布时间:2009/7/10 23:59:59