/P (前置處理至檔案)

前置處理 C 和 C++ 原始程式檔,並將前置處理的輸出寫入檔案。

語法

/P

備註

檔案的基底名稱與來源檔案和 .i 副檔名相同。 在此程式中,會執行所有預處理器指示詞、執行宏擴充,以及移除批註。 若要保留前置處理輸出中的批註,請使用 /C (在前置處理期間保留批註) 選項以及 /P

/P 會將指示詞新增 #line 至輸出,在每個包含的檔案的開頭和結尾,以及預處理器指示詞移除的行周圍,以進行條件式編譯。 這些指示詞會重新編號前置處理過的檔案行。 因此,後續處理階段所產生的錯誤是指原始原始程式檔的行號,而不是前置處理檔案中的行號。 若要隱藏指示詞的 #line 產生,請使用 /EP (Preprocess to stdout Without #line Directives) /P

/P 選項會隱藏編譯。 它不會產生 .obj 檔案,即使您使用 /Fo (物件檔名稱) 也一 樣。 您必須重新提交前置處理過的檔案以進行編譯。 /P 也會隱藏 /FA /Fa /Fm 選項的 輸出檔。 如需詳細資訊,請參閱 /FA、/Fa(清單檔案) /Fm(名稱 Mapfile)。

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

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [ 組態屬性 > C/C++ > 預處理器 ] 屬性頁。

  3. 修改 Generate Preprocessed File 屬性。

若要以程式方式設定這個編譯器選項

範例

下列命令列會前置處理 ADD.C 、保留批註、新增 #line 指示詞,並將結果寫入檔案: ADD.I

CL /P /C ADD.C

另請參閱

MSVC 編譯器選項
MSVC 編譯器命令列語法
/Fi (前置處理輸出檔名稱)