/P(预处理到文件)

预处理 C 和 C++ 源文件并将预处理的输出写入到文件。

/P

备注

此文件具有与源文件相同的基名称和一个 .i 扩展名。 在此过程中,执行所有的预处理器指令,执行宏展开,并移除注释。 若要在预处理输出中保留注释,请将 /C(在预处理期间保留注释) 选项与 /P 一起使用。

/P 将 #line 指令添加到输出中,位于每个包含文件的开头和结尾以及被条件编译预处理器指令移除的行的周围。 这些指令将预处理文件中的行重新编号。 因此,在处理后期生成的错误引用原始源文件的行号而不是预处理文件中的行的行号。 若要取消生成 #line 指令,请使用 /EP(不使用 #line 指令预处理到 stdout)/P

/P 选项取消编译。 它不产生 .obj 文件,即使您使用 /Fo(对象文件名)。 必须重新提交预处理文件以进行编译。 /P 还取消来自 /FA/Fa/Fm 选项的输出文件。 有关更多信息,请参见/FA、/Fa(列出文件)/Fm(命名映射文件)

在 Visual Studio 开发环境中设置此编译器选项

  1. 打开项目的**“属性页”**对话框。 有关详细信息,请参见如何:打开项目属性页

  2. 单击**“C/C++”**文件夹。

  3. 单击**“预处理器”**属性页。

  4. 修改**“生成预处理文件”**属性。

以编程方式设置此编译器选项

示例

下列命令行预处理 ADD.C,保留注释,添加 #line 指令,并将结果写入文件 ADD.I:

CL /P /C ADD.C

请参见

参考

编译器选项

设置编译器选项

/Fi(预处理输出文件名)