最近開始研究mfc,教材是《深入淺出mfc》(第二版),現記錄下學習過程中的心得體會,算是對自己知識的總結,也希望能給他人以幫助~
第一課1.縮略詞解釋
mfc:這是乙個建立在windows api之上的c++類庫
api:應用程式介面
sdk:軟體開發工具(現凡以windows raw api撰寫的程式我們通常也稱為sdk程式)
2.知識點
1)"動態鏈結"是在執行時期才鏈上的。(.exe、.dll、.fon、.mod、.drv、.ocx都是所謂的動態鏈結函式庫)
2)對應用程式獲得的各種"輸入"進行分類,可以分為①由硬體裝置產生的訊息,放在系統佇列中;②由windows系統或其它windows程式傳送過來的訊息,放在程式佇列中。
3)main是c程式的進入點,winmain則是windows程式的進入點。
winmain的呼叫流程:shell偵測到欲執行乙個windows程式->呼叫載入器->呼叫c startup code->呼叫winmain->開始執行程式
(winmain的四個引數由作業系統傳遞進來)
4)視窗的註冊與建立:先是利用api函式registerclass(註冊視窗類)設定屬性,再利用api函式createwindow建立視窗(只建立,不顯示,showwindow才顯示視窗)。
5)訊息迴圈:
while(getmessage(&msg,...)){
translatemessage(&msg); //轉換鍵盤訊息
dispatchmessage(&msg); //分派訊息
6)call back函式是指程式中被windows系統呼叫的函式
7)視窗函式:無論什麼訊息,都必須被處理,所以switch/case指令中default:處必須呼叫defwindowproc。這是windows內部預設的訊息處理函式。
8)訊息對映message map
struct msgmad_entry _messageentries //訊息與處理例程的對照**
struct msgmad_entry _commandentries //command-id與處理例程之對照**
9)對話方塊
兩類:①使父視窗無效,直到對話方塊結束,稱為modal②與父視窗共同執行,稱為modeless
為做出對話方塊,程式設計師必須準備兩樣東西:①對話方塊模板(dialog template)②對話方塊函式(dialog procedure)
modal對話方塊的啟用與結束,靠的是dialogbox和enddialog兩個api函式。
10)模組定義檔案.def
將模組名稱、程式段和資料段的記憶體特性、模組堆(heap)大小、堆疊(stack)大小、所有call back函式名稱等等登記下來 。
第一課 核心簡介
uclinux是基於linux核心的乙個新核心,主要用於嵌入式市場上沒有mmu的cpu。由於uclinux沒有mmu,所以在記憶體管理方面與linux存在很大差異,它將不支援虛擬記憶體技術,也沒有記憶體保護,執行時只能直接訪問物理記憶體。uclinux採用物理儲存器管理策略,對物理記憶體的管理仍採用...
第一課 正則簡介
正規表示式使用單個字串來描述 匹配一系列匹配某個句法規則的字串。除非您以前使用過正規表示式,否則您可能不熟悉一些術語。但是,毫無疑問,您已經使用過不涉及指令碼的某些正規表示式概念。例如,您很可能使用 和 萬用字元來查詢硬碟上的檔案。萬用字元匹配檔名中的 0 個或 1 個字元,而 萬用字元匹配零個或多...
第一課 Django 簡介
django乙個可以是web開發工作者開發工作愉快並且高效的web 框架 使用django 使你能夠以最小的代建構建和維護高質量的web應用 從好的方面來看 web開發激動人心並且富有創造性 從另一方面來看它卻是繁瑣而令人厭惡的工作 通過減少 的重複開發 django使你能夠專注於web工作中有趣並...