《Windows程式設計》讀書筆記

來源:互聯網
上載者:User

今天準備開始看《Windows 程式設計》一書。堅持記錄下每次看書的心得體會!相信肯定能從中獲得很多收穫!

1、API和SDK區別;SDK =  API函數 + 協助文檔 + 微軟提供的一些輔助開發工具;

2、使用api函數方法:①包含要調用函數的標頭檔;

②串連到指定的連結庫(lib檔案),顯式:#pragma comment(lib, "mylib.lib");

③api函數前面加::表示和c++類成員函數區別;

3、匈牙利命名法:要記住常用類型的縮寫首碼;先寫範圍,然後是_,然後是類型首碼,然後是有意義的標示符;

一次性局部變數用小寫(i,j等);全域變數全部大寫;

?4、P9,每個進程都有自己的4GB的私人地址空間;

5、核心對象:只有通過api函數才可以訪問;

6、一個控制台程式入口函數是main()函數,其實在進入main函數之前,作業系統先去調用c++的運行期啟動函數,其函數會初始化c++運行期庫。以保證程式中可以調用malloc和new之類的函數以及保證在執行使用者的代碼之前搜有全域的或靜態c++對象能夠被正確的建立(執行這些對象的建構函式);

7、win32的啟動過程:應用程式的啟動過程就是進程的建立過程,通過調用CreateProcess函數建立一個主進程,並且建立一個進程核心對象,初始化為1,然後系統會為該進程建立一個虛擬空間,載入應用程式執行所需要的資料和代碼。然後系統建立一個主線程,主線程通過執行c++運行期啟動代碼開始運行,c++運行期代碼再調用main函數開始執行。建立新的進程的時候,系統會為新進程指定一個STARTUPINFO類型的變數,該變數包含了父進程傳遞給子進程的一些顯示資訊。

8、windows執行程式的時候,尋找函數順序:調用進程的可執行檔所在目錄——調用進程的目前的目錄——windows的系統目錄(system32目錄)——window目錄——path環境變數目錄!

9、mfc的執行順序:對象theApp而調用父類和自身的建構函式——調用winmain函數*(如何調用呢?是通過runtime函數主動調用該函數!就像c++控制台程式那樣,main函數無需聲明以及定義便可以直接調用,這便是得益於runtime函數!)——winmain函數裡面初始化主程式的一些東西(wininit-initapplication-initinstance)——run函數(訊息迴圈)!


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.