預編譯頭的概念:
預編譯頭文件通常以.pch為擴展名,是將工程中比較穩定的代碼預先編譯好放在這個文件中
生成預編譯頭文件很耗時間,要盡量避免修改這些穩定的代碼,如果這些代碼被修改,則需要重新編譯
生成預編譯頭文件。
作用:
預編譯頭文件可以用來提高速度,將不經常改變的代碼預編譯好,以免每次都和其他文件一起編譯。
使用方法:
使用預編譯頭文件需要首先指定一個頭文件,這個頭文件包含不經常被改變的代碼和其他的一些頭文件
系統默認的是stdafx.h
下面是MFC自動包含的文件:
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include <afxwin.h> // MFC core and standard components #include <afxext.h> // MFC extensions #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT
頭文件不能參與編譯,一次還需要相應的.cpp文件,如果stdafx中不包含其他預編譯代碼,則在.cpp文件中
只需要包含stdafx.h,否則還需要實現頭文件中的函數。
產生預編譯頭文件和使用預編譯頭文件:
1、工程->設置,選擇C/C++選項卡,分類選擇“預編譯頭文件”,選擇創建預補償頁眉文件,或者
修改命令參數為Yc”stdafx.h”.
2、單獨編譯stdafx.cpp文件,使用(Ctrl+F7)
3、在進入工程設置中選擇使用預補償頁眉文件,標題設為stdafx.h, 不加引號
4、重新編譯工程即可
.pch 文件比較大默認是存放在Debug目錄下的,怎么改變.pch文件的位置呢
在工程->設置的C/C++選項的工程選項中,改變Fd和Fp命令的參數即可,即將Debug目錄改為自己需要的目錄
Fp設置.pch的存放路徑,Fd設置vc60.pdb,vc60.idb 路徑
因為預編譯頭文件的使用需要之前使用的pdb文件,因此應同時保存.pdb文件到指定目錄中
如此就可以刪除整個Debug文件夾中的文件而不影響工程編譯運行