讲述MFC AppWizard的原理与MFC程序框架的剖析
又抽时间看了第三课,感觉收获挺大,当然同时也证明我真得很菜,呵呵,下面的笔记都是没有整理的
1、在普通mpc程序中是没有winmain函数的,它由编译器在程序编译是再连接进来,可以在vc98/mfc中找到它的定义文件
2、_tWinMain 实际上是一个宏 #define -twinmain winmain
3、winmain是如何与mfc的各个类组织起来的呢,是如何联系的呢
1 程序一开始并不是从winmain开始操作,但是是从winmain开始运行
一开始就得到操作的是全局变量,为其分配内存空间
CPoint pt -> CPoint() -> main() 全局对象,对象的构造函数,main函数
2 一个程序有且仅有一个theapp,全局实例对象,它代表程序实例本身
CTestApp theApp -> CWinApp() -> CTestApp() -> WinMain
CWinApp::CWinApp(LPCTSTR lpszAppName){...}
为什么父类构造函数有参数,子类实例没有对其显式调用呢,因为父类头文件定义处有默认值
class CWinApp : public CWinThread
{ .......
public:
CWinApp(LPCTSTR lpszAppName = NULL);
.......
}
4、Afx****() 全局函数,可以在任何类内任何地方调用
6、CTestApp theApp -> CWinApp()