C++中stdafx.h的英文全稱為:Standard Application Fram Extend,中文名為:頭文件預編譯。
stdafx.h在C++中起到的作用是:把C++工程中使用的MFC頭文件預先編譯,以後該工程編譯時,直接使用預編譯的結果,這樣可以加快編譯速度。
C++編譯器通過壹個頭文件stdafx.h來使用預編譯頭文件。stdafx.h這個頭文件名可以在project的編譯設置裏指定。
編譯器默認所有在指令"stdafx.h"前的代碼都是預編譯,它跳過 "stdafx. h"指令,使用projectname.pch編譯這條指令之後的代碼。?
擴展資料
Windows和MFC的include文件都非常大,即使有壹個快速的處理程序,編譯程序也要花費相當長的時間來完成工作。
由於每個.CPP文件都包含相同的include文件,為每個.CPP文件都重復處理這些文件就顯得很傻了。為避免這種浪費,AppWizard和VisualC++編譯程序壹起進行工作,如下所示:
1、AppWizard建立了文件stdafx.h,該文件包含了所有當前工程文件需要MFCinclude 文件。且這壹文件可以隨被選擇的選項而變化。
2、AppWizard然後就建立stdafx.cpp。這個文件通常都是壹樣的。
3、然後AppWizard就建立起工程文件,這樣第壹個被編譯的文件就是stdafx.cpp。
4當VisualC++編譯stdafx.cpp文件時,它將結果保存在壹個名為stdafx.pch的文件裏。(擴展名pch表示預編譯頭文件。)
5、當VisualC++編譯隨後的每個.cpp文件時,它閱讀並使用它剛生成的.pch文件。VisualC++不再分析Windowsinclude文件,除非妳又編緝了stdafx.cpp或stdafx.h。