/Yc (建立先行編譯標頭檔)
指示編譯程式建立代表特定時間點編譯狀態的先行編譯標頭 (.pch) 檔案。
語法
/Yc
/Yc檔名
引數
filename
指定標頭 (.h) 檔案。 使用這個自變數時,編譯程式會將所有程式代碼編譯為 ,包括 .h 檔案。
備註
未指定 /Yc 自變數時,編譯程式會將所有程式代碼編譯到基底原始程式檔的結尾,或編譯至發生 hdrstop 指示詞的基底檔案中的點。 除非您使用 hdrstop pragma 或 /Fp 選項指定不同的檔名,否則產生的 .pch 檔案與基底來源檔案具有相同的基底名稱。
先行編譯的程式代碼會儲存在以 /Yc 選項和 .pch 擴展名指定之檔案基底名稱所建立名稱的檔案中。 您也可以使用 /Fp (名稱 。Pch File) 選項,可指定先行編譯頭文件的名稱。
如果您使用 /Yc檔名,編譯程式會將所有程式代碼編譯為 ,並包含指定的檔案,以供後續搭配 /Yu 使用 [使用先行編譯頭檔] 選項使用。
如果選項 /Yc檔名和 /Yu檔名發生在相同的命令行和兩個參考上,或表示相同的檔名 /Yc檔名優先。 這項功能可簡化makefiles的撰寫。
如需先行編譯標頭的詳細資訊,請參閱:
在 Visual Studio 開發環境中設定這個編譯器選項
選取.cpp檔案。 .cpp檔案必須 #include 包含先行編譯頭資訊的 .h 檔案。 您可以在檔案層級覆寫專案的 /Yc 設定。
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
開啟 [ 組態屬性]、 [C/C++]、[ 先行編譯標頭 ] 屬性頁。
修改先行編譯的 Header 屬性。
若要設定檔名,請修改 先行編譯頭文件 屬性。
若要以程式方式設定這個編譯器選項
範例
請考慮下列程式碼:
// prog.cpp
// compile with: cl /c /Ycmyapp.h prog.cpp
#include <afxwin.h> // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h" // Include information specific to this app
// ...
使用 命令 CL /YcMYAPP.H PROG.CPP
編譯此程序代碼時,編譯程式會將 AFXWIN.h、RESOURCE.h 和 MYAPP.h 的所有前置處理儲存在名為 MYAPP.pch 的先行編譯頭檔中。