1. 程式人生 > >MFC程式執行原理

MFC程式執行原理

一、首先利用全域性應用程式物件theApp啟動應用程式。正是產生了這個全域性物件,基類CWinApp中的this指標才會指向這個物件。如果沒有這個全域性物件,程式在編譯時不會出錯,但是在執行時會出錯。
二 、呼叫全域性應用程式物件的建構函式,從而就會先呼叫基類CWinApp的建構函式。後者完成應用程式的一些初始化工作,並將應用程式物件指標儲存起來。
三、進入WinMain函式。在AfxWinMain函式中可以獲取子類(對Test程式來說,就是CTestApp類)的指標,利用此指標呼叫虛擬函式:InitInstance,根據多型性的原理。實際上呼叫子類的CTestApp的InitInstance函式。後者完成應用程式的一些初始化工作,包括視窗類的註冊、建立、視窗的顯示和更新。期間會多次呼叫CreateEx函式,因為一個單文件MFC應用程式有多個視窗,包括框架視窗、工具條、狀態條等。


四、進入訊息迴圈,雖然也設定了預設的視窗過程函式,但是,MFC應用程式實際上是採用訊息對映機制來處理各種訊息的。當收到WM_QUIT訊息時,退出訊息迴圈,程式結束。