Share via


/Yc (建立先行編譯標頭檔)

指示編譯器建立代表某特定點之編譯狀態的先行編譯標頭 (.pch) 檔。

/Yc[filename]

引數

  • filename
    指定標頭 (.h) 檔。 使用這個引數時,編譯器會編譯一直到 .h 檔 (也包含該檔) 的所有程式碼。

備註

指定 /Yc 而不加引數時,編譯器會編譯所有程式碼一直到主原始程式檔結尾,或者到主檔案中發生 hdrstop 的點。 除非您使用 hdrstop Pragma 或 /Fp 選項指定了不同的檔名,否則所產生的 .pch 檔會具有與主原始程式檔相同的主檔名。

先行編譯的程式碼會儲存在以 /Yc 選項指定之檔案的主檔名和 .pch 副檔名所組成名稱的檔案中。 您也可以使用 /Fp (命名 .Pch 檔案) 選項,指定先行編譯標頭檔的名稱。

如果您使用 /Ycfilename,編譯器會編譯所有程式碼一直到指定供後續使用 /Yu 選項的檔案 (也包含該檔)。

如果 /Ycfilename 和 /Yu (使用先行編譯標頭檔)filename 選項出現在相同的命令列中,而且兩者都參考 (或隱含) 相同的檔案名稱,/Ycfilename 會取得優先權。 這項功能簡化了 Makefile 的撰寫。

如需先行編譯標頭的詳細資訊,請參閱:

若要在 Visual Studio 開發環境中設定這個編譯器選項

  1. 選取 .cpp 檔。 .cpp 檔必須 #include 其中包含先行編譯標頭檔資訊的 .h 檔。 專案的 /Yc 設定可以在檔案層級加以覆寫。

  2. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁

  3. 按一下 [C/C++] 資料夾。

  4. 按一下 [先行編譯標頭] 屬性頁。

  5. 修改 [透過檔案建立/使用 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 的先行編譯標頭檔中。

請參閱

參考

編譯器選項

設定編譯器選項