/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++>Preprocessor 屬性頁面。
修改 Generate Preprocessed File 屬性。
若要以程式方式設定這個編譯器選項
範例
下列命令行會前置處理 ADD.C
、保留批注、新增 #line
指示詞,並將結果寫入檔案: ADD.I
CL /P /C ADD.C