




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 程序是怎樣“碼 成的 程序是怎樣 碼”成的 程序的入口點及啟動函數 Windows應用程序必須擁有一個在應用程序啟動運行時調用的進入點函數(Main),操作 系統(tǒng)實際上并不調用你編寫的進入點函數。以C/C+為例子,它調用的是C/C+運行期啟動 函數。該函數負責對C/C+運行期庫進行初始化,這樣,就可以調用malloc和free之類的函數 。它還能夠確保已經聲明的任何全局對象和靜態(tài)C+對象能夠在代碼執(zhí)行以前正確地創(chuàng)建。 應用程序類型 需要ANSI字符和字符串的GUI應用程序 需要Unicode字符和字符串的GUI應用程序 需要ANSI字符和字符串的CUI應用程序 需要Unicode字符和字符串
2、的CUI應用程序 進入點 WinMain wWinMain main wmain 嵌入可執(zhí)行文件的啟動函數 WinMainCRTStartup wWinMainCRTStartup mainCRTStartup wmainCRTStartup、 鏈接程序負責在它連接可執(zhí)行文件時選擇相應的C/C+運行期啟動函數。如果設定了 /Subsystem:windows連接程序開關,那么該鏈接程序期望找到一個WinMain或wWinmain 函數。如果這兩個函數都不存在,連接程序便返回一個"未轉換的外部符號"的錯誤消息。 否則,它可以分別選擇WinMainCRTStartup函數或wW
3、inMainCRTStartup函數。 程序是怎樣“碼 成的 程序是怎樣 碼”成的 應用程序的消息循環(huán) 在早年直接用Win32/Win16 API寫程序的時代,消息循環(huán)是我們必須搞懂的第一個觀念?,F在,不管你用是 Windows上面的哪一套Application Framework(MFC、VCL、VB、.NET Framework),甚至Unix、Linux、 MacOSX上面的Application Framework,都不太容易看到消息循環(huán)。事實上,消息循環(huán)依然存在,只是被這些 ApplicationFramework包裝起來,深深地埋藏在某個角落。 1、從_tWinMain內,程序進入
4、主消息循環(huán); 2、消息循環(huán)從消息隊列(Message Queue)中取得一個消息(透過調用GetMessage()。每個執(zhí)行中的程序都有一個 屬于自己的消息隊列; 3、消息循環(huán)根據消息內容來決定消息應該送給哪個Windows Procedure(WndProc),. 這就稱為消息分發(fā)(Message Dispatch)。通?!懊恳环N”窗口或控件(control)都有一個Windows Procedure,來處理該種窗口/控件的行為; 4、Windows Procedure根據消息內容來決定應該調用哪個函數(利用Switch/Case語法);. 5、Windows Procedure處理完,控制
5、權回到消息循環(huán)。繼續(xù)進行2、3、4、5的動作; 6、當消息隊列為空的時候,GetMessage(無法取得任何消息,就會進入Idle(空閑)狀態(tài),進入睡眠狀態(tài)(而不是 Busy Waiting)。當消息隊列不再為空的時候,程序會自動醒過來,繼續(xù)進行2、3、4、5的動作; 7、當取得的消息是WM_QUIT,GetMessage(就會得到0的返回值,因而離開消息循環(huán),程序結束。程序會利用調用 PostQuitMessage(來將WM_QUIT放置進消息隊列中,來造成稍后結束,而不會直接貿然跳離開循環(huán)來結束。 代碼之美 1. 代碼規(guī)范 1. 2. 3. 注釋 命名 代碼風格 我們這里的代碼之美只在于代碼的外觀,寫出的代碼工整,邏輯 我們這里的代碼之美只在于代碼的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防員客觀練習題庫及答案
- 消防員個人工作總結
- 湘藝版小學音樂六年級上冊《我的祖國》教案
- 2025年年中國食品飲料項目建議書
- 2025年耐高溫濾料合作協議書
- 教育心理學與健康生活的結合點
- 如何運用心理學優(yōu)化教學策略
- 教育品牌危機公關快速響應策略與實施
- 全球醫(yī)療教育的新模式與挑戰(zhàn)
- 教育技術與商業(yè)培訓的融合探索
- 汽車網銷電話邀約話術培訓
- 江蘇省南京市2024-2025學年高二(下)期末物理試卷
- 煤礦掘進試題庫及答案
- 妊娠期合并闌尾炎的護理
- 2025至2030中國焦化行業(yè)市場發(fā)展分析及發(fā)展趨勢與前景報告
- 音樂數據分析與用戶行為研究-洞察闡釋
- 2025至2030中國電子級磷酸行業(yè)市場發(fā)展分析及市場需求與投資方向報告
- 電力維修搶險方案(3篇)
- 民警心理健康課件
- 公路養(yǎng)護統(tǒng)計培訓
- 2025年河南省中考語文試卷真題(含答案)
評論
0/150
提交評論