/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 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [ 組態屬性 > C/C++ > 預處理器 ] 屬性頁。
修改 Generate Preprocessed File 屬性。
若要以程式方式設定這個編譯器選項
範例
下列命令列會前置處理 ADD.C
、保留批註、新增 #line
指示詞,並將結果寫入檔案: ADD.I
CL /P /C ADD.C
另請參閱
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: