MFC 内部组织结构(简单单文档)
? ? ? ??MFC 內(nèi)部組織結(jié)構(gòu)(單文檔)
工程從一個(gè)全局變量theApp初始化開始
調(diào)用構(gòu)造函數(shù)CXXApp();//(派生于CWinApp());//關(guān)于CWinApp的文件可百度查找
調(diào)用父(基)類構(gòu)造函數(shù)CWinApp();//(有一個(gè)缺省形式參數(shù)=NULL)
? 在CWinApp()中
1.?????? 將當(dāng)前線程指向本程序//pThreadState->m_pCurrentWinThread = this;
2.?????? 為CMyApp分配空間
3.?????? 其他初始化工作
完成全局變量的初始化后,程序自動(dòng)調(diào)用WinMain() //只要你包含了stdafx
1.在WinMain()中得到該App的指針// 利用CWinApp *pApp=AfxGetApp();多態(tài)可以實(shí)現(xiàn)指向當(dāng)前App
2.在WinMain()中初始化窗口//調(diào)用 CWinApp::InitApplication(),CWinThread::InitInstance();//在InitInstance中實(shí)現(xiàn)調(diào)用 app的框架,文檔,視圖(具體沒搞清楚).
3.進(jìn)入WinMain()的消息循環(huán) //其實(shí)是通過CWinThread::Run實(shí)現(xiàn)
退出程序,調(diào)用析構(gòu)函數(shù),銷毀窗口,退出線程等操作
?
?
以下是自己加斷點(diǎn)調(diào)試簡(jiǎn)單單文檔MFC的函數(shù)調(diào)用流程圖
?
?
//? MFC中全局函數(shù)都是以afx開頭 , 例如afxWinMain();包含在《stdafx.h》中A是applicationg? ,F是frame
以上僅是個(gè)人淺顯見解,如有錯(cuò)誤,希望高手指出
總結(jié)
以上是生活随笔為你收集整理的MFC 内部组织结构(简单单文档)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程中Local Store Slot
- 下一篇: 一种高效快速的内存池实现(附源码)