所謂頭文件預編譯,就是把一個工程中使用的一些MFC標準頭文件(如Windows.h Afxwin.h)預先編譯,以後該工程編譯時,不再編譯這部分頭文件,僅僅使用預編譯的結果。這樣可以加快編譯速度,節省時間。
預編譯頭文件通過編譯stdafx.cpp生成,以工程名命名,由於預編譯的頭文件的後綴是"pch",所以編譯結果文件是projectname.pch.
編譯器通過一個頭文件stdafx.h來使用預編譯頭文件。stdafx.h這個頭文件名是可以在project的編譯設置裏指定的。編譯器認爲,所有在指令#include "stdafx.h"前的代碼都是預編譯的,它跳過#include "stdafx.h"指令,使用projectname.pch編譯這條指令之後的所有代碼。
因此,所有的cpp實現文件的第一條語句都是:#include "stdafx.h"