




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 程序是怎樣“碼 成的 程序是怎樣 碼”成的 程序的入口點及啟動函數(shù) Windows應用程序必須擁有一個在應用程序啟動運行時調(diào)用的進入點函數(shù)(Main),操作 系統(tǒng)實際上并不調(diào)用你編寫的進入點函數(shù)。以C/C+為例子,它調(diào)用的是C/C+運行期啟動 函數(shù)。該函數(shù)負責對C/C+運行期庫進行初始化,這樣,就可以調(diào)用malloc和free之類的函數(shù) 。它還能夠確保已經(jīng)聲明的任何全局對象和靜態(tài)C+對象能夠在代碼執(zhí)行以前正確地創(chuàng)建。 應用程序類型 需要ANSI字符和字符串的GUI應用程序 需要Unicode字符和字符串的GUI應用程序 需要ANSI字符和字符串的CUI應用程序 需要Unicode字符和字符串
2、的CUI應用程序 進入點 WinMain wWinMain main wmain 嵌入可執(zhí)行文件的啟動函數(shù) WinMainCRTStartup wWinMainCRTStartup mainCRTStartup wmainCRTStartup、 鏈接程序負責在它連接可執(zhí)行文件時選擇相應的C/C+運行期啟動函數(shù)。如果設(shè)定了 /Subsystem:windows連接程序開關(guān),那么該鏈接程序期望找到一個WinMain或wWinmain 函數(shù)。如果這兩個函數(shù)都不存在,連接程序便返回一個"未轉(zhuǎn)換的外部符號"的錯誤消息。 否則,它可以分別選擇WinMainCRTStartup函數(shù)或wW
3、inMainCRTStartup函數(shù)。 程序是怎樣“碼 成的 程序是怎樣 碼”成的 應用程序的消息循環(huán) 在早年直接用Win32/Win16 API寫程序的時代,消息循環(huán)是我們必須搞懂的第一個觀念?,F(xiàn)在,不管你用是 Windows上面的哪一套Application Framework(MFC、VCL、VB、.NET Framework),甚至Unix、Linux、 MacOSX上面的Application Framework,都不太容易看到消息循環(huán)。事實上,消息循環(huán)依然存在,只是被這些 ApplicationFramework包裝起來,深深地埋藏在某個角落。 1、從_tWinMain內(nèi),程序進入
4、主消息循環(huán); 2、消息循環(huán)從消息隊列(Message Queue)中取得一個消息(透過調(diào)用GetMessage()。每個執(zhí)行中的程序都有一個 屬于自己的消息隊列; 3、消息循環(huán)根據(jù)消息內(nèi)容來決定消息應該送給哪個Windows Procedure(WndProc),. 這就稱為消息分發(fā)(Message Dispatch)。通常“每一種”窗口或控件(control)都有一個Windows Procedure,來處理該種窗口/控件的行為; 4、Windows Procedure根據(jù)消息內(nèi)容來決定應該調(diào)用哪個函數(shù)(利用Switch/Case語法);. 5、Windows Procedure處理完,控制
5、權(quán)回到消息循環(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),程序結(jié)束。程序會利用調(diào)用 PostQuitMessage(來將WM_QUIT放置進消息隊列中,來造成稍后結(jié)束,而不會直接貿(mào)然跳離開循環(huán)來結(jié)束。 代碼之美 1. 代碼規(guī)范 1. 2. 3. 注釋 命名 代碼風格 我們這里的代碼之美只在于代碼的外觀,寫出的代碼工整,邏輯 我們這里的代碼之美只在于代碼的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 粵海地理競賽試題及答案
- 沙灘彈唱面試題及答案
- 理解紡織品生產(chǎn)全過程的質(zhì)量管理試題及答案
- 廣告設(shè)計師證書考試創(chuàng)意展示試題及答案
- 科技武器考試題及答案
- 健康領(lǐng)域測試題及答案
- 2024年紡織設(shè)計師考點解析試題及答案
- 電話客服考試試題及答案
- 助理廣告師項目執(zhí)行能力試題及答案
- 2024國際設(shè)計師考試心得體會試題及答案
- 導管護理相關(guān)知識
- 上海2025年上海交通大學醫(yī)學院招聘72人筆試歷年參考題庫附帶答案詳解
- DB37-T 5061-2024 住宅小區(qū)供配電設(shè)施建設(shè)標準
- GB/T 45135-2024鈦合金板材超塑成形和擴散連接件通用技術(shù)規(guī)范
- (2025)時事政治題庫(含參考答案)
- 【含聽力9英一模】合肥市蜀山區(qū)2024年中考一模英語
- 保利拍賣行合同模板
- 2025年中國融通農(nóng)發(fā)社會招聘筆試參考題庫含答案解析
- 養(yǎng)老院護理員培訓制度
- 無人機組裝與調(diào)試 課件 項目一 多旋翼無人機組裝調(diào)試
- 公司安全生產(chǎn)事故隱患內(nèi)部報告獎勵工作制度
評論
0/150
提交評論