stdafx.* 控制程式碼 和 ID (轉)
1.stdafx.*是幹什麼用的?怎麼用?
和MFC的include都非常大,即使有一個的處理,編譯程式也要花費相當長的時間來完成工作。由於每個.CPP檔案都包含相同的include檔案,為每個.CPP檔案都重複處理這些檔案就顯得很傻了。
為避免這種浪費,AppWizard和Visual C++編譯程式一起進行工作,如下所示:
◎AppWizard建立了檔案stdafx.h,該檔案包含了所有當前工程檔案需要的MFC include檔案。且這一檔案可以隨被選擇的選項而變化。
◎AppWizard然後就建立stdafx.cpp。這個檔案通常都是一樣的。
◎然後AppWizard就建立起工程檔案,這樣第一個被編譯的檔案就是stdafx.cpp。
◎當Visual C++編譯stdafx.cpp檔案時,它將結果儲存在一個名為stdafx.pch的檔案裡。 (副檔名pch表示預編譯標頭檔案。)
◎當Visual C++編譯隨後的每個.cpp檔案時,它閱讀並使用它剛生成的.pch檔案。 Visual C++不再分析Windows include檔案,除非你又編緝了stdafx.cpp或stdafx.h。
2.控制程式碼和ID有什麼區別?
什麼是“控制程式碼”(handle),handle的本意是把柄,把手的意思。是你與操作打交道的東東。舉個通俗的例子,比如你考上了大學,入學後,學校()會給你一個學生證號。注意,這個號碼是學校指定的,你無法自選。有了這個號碼(學生證,假設一證多用)享受學校提供的服務:如你就可以去圖書館借書,去食堂吃飯,去教室上課等等。但你不能到食堂裡買啤酒,因為學校不允許這種服務。而在中系統提供的服務就是,你有了HANDLE,就可以理直氣壯地向系統提出呼叫API的服務。而指標的權力就大多了,有了指標你可以到處去喝酒,打架,學校(作業系統)管不著,所以控制程式碼和指標的區別在於控制程式碼指標呼叫系統提供的服務。而控制程式碼雖然是一個能相互區別的號碼,但與我們普通的ID號又有區別,普通的ID號是可以由程式設計師自己定義的,而控制程式碼不行,它是生成是系統指定的,是為了區別系統中存在的各個物件,這個控制程式碼不是由程式設計師符給的。
控制程式碼
1。控制程式碼,是整個windows的基礎,一個控制程式碼是指使用的一個唯一的整數值,是指一個四位元組長的數值,用於標誌應用程式中的不同物件和同類物件中的不同的例項,諸如,一個視窗,按鈕,圖示,捲軸,輸出裝置,或者檔案等。應用程式能夠透過控制程式碼訪問相應的物件的資訊。
2。控制程式碼不是一個指標,程式不能利用它控制程式碼來直接閱讀檔案中的資訊。如果控制程式碼不用在I/O檔案中,它是毫無用處的。
3。控制程式碼是windows用來標誌應用程式中建立的或是使用的唯一整數,windows使用了大量的控制程式碼來來標誌很多物件。
說明:例項——在windows環境下,不但可以執行多個應用程式,還可以執行多個應用程式的多份複製,每個複製叫做一個例項,並且有不同的例項控制程式碼。一個例項控制程式碼是windows可以單獨執行的副本,是唯一可以標誌此例項的整數。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1006891/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 轉: Windows控制程式碼數的限制Windows
- 控制程式碼表篇——程式控制程式碼表
- Glide原始碼解析四(解碼和轉碼)IDE原始碼
- 控制程式碼表篇——全域性控制程式碼表
- JavaScript程式控制流(轉)JavaScript
- css控制div元素旋轉指定角度程式碼例項CSS
- 控制程式碼的本質——撥亂反正篇 (轉)
- 四、GO程式設計模式:委託和反轉控制Go程式設計設計模式
- [android]android自動化測試十二之程式碼控制截圖Android
- Binding(二):控制元件關聯和程式碼提升控制元件
- jQuery控制div顯示和隱藏程式碼例項jQuery
- 客戶端驗證和onclick事件控制程式碼客戶端事件
- Android反編譯和程式碼混淆Android編譯
- idea控制檯中文亂碼Idea
- Git程式碼版本控制流程Git
- 【轉】編譯Android系統原始碼和核心原始碼編譯Android原始碼
- 如何找到SAP UI5控制元件ID生成的準確時間點和程式碼位置UI控制元件
- 依賴注入和控制反轉依賴注入
- Android Studio 藍芽 示例程式碼(轉)Android藍芽
- Shell 指令碼程式併發&程式數控制指令碼
- MXRotationManager, 一行程式碼控制iOS裝置旋轉方向UIInterfaceOrientationMask行程iOSUI
- Android 配置 Ant 指令碼之程式碼混淆和優化Android指令碼優化
- 核心物件&控制程式碼物件
- 淺析方法控制程式碼
- 控制程式碼與指標指標
- Android ListVeiw控制元件(轉載整理)Android控制元件
- DataGrid控制元件通用列印類. (轉)控制元件
- 控制檯程式的事件處理 (轉)事件
- SWT的視覺化控制元件的X11視窗控制程式碼簡介(轉)視覺化控制元件
- Android初探(轉自《第一行程式碼》)Android行程
- 前端和React Native程式碼互轉總結前端React Native
- 程式碼換膚術(一)——C#和VB (轉)C#
- 精妙程式碼 (轉)
- 控制GridView行號合併的方法 (轉)View
- 為DataGrid新增CheckBox控制元件 (轉)控制元件
- Python 的控制流程式碼混淆Python
- 51微控制器lcd程式碼
- idea建立、執行、打包控制檯程式Idea