用法:
在mfc程式,cpp檔案,放在第一行。注意:#include "stdafx.h"一定要放在第一行,否則可能會引發不可知的各種災難性錯誤。
用處:
stdafx.h中沒有函式庫,只是定義了一些環境引數,使得編譯出來的程式能在32位的作業系統環境下執行。
windows和mfc的include檔案都非常大,即使有乙個快速的處理程式,編譯程式也要花費相當長的時間來完成工作。由於每個.cpp檔案都包含相同的include檔案,為每個.cpp檔案都重複處理這些檔案就顯得很傻了。
◎當visualc++編譯stdafx.cpp檔案時,它將結果儲存在乙個名為stdafx.pch的檔案裡。(副檔名pch表示預編譯標頭檔案。)
◎當visualc++編譯隨後的每個.cpp檔案時,它閱讀並使用它剛生成的.pch檔案。visualc++不再分析windowsinclude檔案,除非你又編輯了stdafx.cpp或stdafx.h。
這個技術很精巧,你不這麼認為嗎?(還要說一句,microsoft並非是首先採用這種技術的公司,borland才是。)在這個過程中你必須遵守以下規則:
◎你編寫的任何.cpp檔案都必須首先包含stdafx.h。
◎由於.pch檔案具有大量的符號資訊,它是你的工程檔案裡最大的檔案。
如果你的磁碟空間有限,你就希望能將這個你從沒使用過的工程檔案中的.pch檔案刪除。執行程式時並不需要它們,且隨著工程檔案的重新建立,它們也自動地重新建立。
取消預編譯
某些情況下,可能我們匯入的某些檔案,是不能使用預編譯的,比如某些庫檔案。這個時候,可以單獨針對這些cpp檔案取消預編譯。具體操作方法(以vs2013為例):右鍵cpp——配置屬性——c/c++——預編譯頭——不使用預編譯頭。
host檔案的用途和用法
一 hosts檔案的位置 很多使用者都知道在window系統中有個hosts檔案 沒有字尾名 在windows 98系統下該檔案在windows資料夾。在windows 2000 xp系統中位於 systemroot system32 drivers etc 資料夾中,其中,systemroot 指...
stdafx h和targetver h的作用
stdafx.h和targetver.h的作用 所謂標頭檔案預編譯 就是把乙個工程 project 中使用的一些mfc標準標頭檔案 如windows.h afxwin.h 預先編譯,以後該工程編譯時,不再編譯這部分標頭檔案,僅僅使用預編譯的結果。這樣可以加快編譯速度,節省時間。預編譯標頭檔案通過編譯...
stdafx h和targetver h的作用
stdafx.h和targetver.h的作用 所謂標頭檔案預編譯,就是把乙個工程 project 中使用的一些mfc標準標頭檔案 如windows.h afxwin.h 預先編譯,以後該工程編譯時,不再編譯這部分標頭檔案,僅僅使用預編譯的結果。這樣可以加快編譯速度,節省時間。預編譯標頭檔案通過編譯...