/Yc (建立先行編譯標頭檔)
指示編譯器建立代表某特定點之編譯狀態的先行編譯標頭檔 (.pch)。
/Yc[filename]
Arguments
- filename
指定標頭 (.h) 檔。 使用這個引數時,編譯器會編譯一直到 .h 檔 (也包含該檔) 的所有程式碼。
備註
指定 /Yc 而不加引數時,編譯器會編譯所有程式碼一直到主原始程式檔結尾,或者到主檔案中發生 hdrstop 的點。 除非您使用 hdrstop Pragma 或 /Fp 選項指定了不同的檔名,否則所產生的 .pch 檔會具有與主原始程式檔相同的主檔名。
先行編譯的程式碼會儲存在以 /Yc 選項指定之檔案的主檔名和 .pch 副檔名所組成名稱的檔案中。 您也可以使用 /Fp (命名 .Pch 檔案) 選項,指定先行編譯標頭檔的名稱。
如果您使用 /Ycfilename,編譯器會編譯所有程式碼一直到指定供後續使用 /Yu 選項的檔案 (也包含該檔)。
如果 /Ycfilename 和 /Yu (使用先行編譯標頭檔)filename 選項出現在相同的命令列中,而且兩者都參考 (或隱含) 相同的檔案名稱,/Ycfilename 會取得優先權。 這項功能簡化了 Makefile 的撰寫。
如需先行編譯標頭的詳細資訊,請參閱:
在 Visual Studio 開發環境中設定這個編譯器選項
選取 .cpp 檔。 .cpp 檔必須 #include 其中包含先行編譯標頭檔資訊的 .h 檔。 專案的 /Yc 設定可以在檔案層級加以覆寫。
開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 如何:開啟專案屬性頁。
按一下 [C/C++] 資料夾。
按一下 [先行編譯標頭] 屬性頁。
修改 [透過檔案建立/使用 PCH] 屬性或 [建立/使用先行編譯標頭檔] 屬性。
若要以程式方式設定這個編譯器選項
範例
請考慮下列程式碼:
#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 的先行編譯標頭檔中。