/Yc(创建预编译标头文件)

指示编译器创建一个预编译头 (.pch) 文件,该文件表示特定点的编译状态。

语法

/Yc
/Ycfilename

自变量

filename
指定标头 (.h) 文件。 使用此参数时,编译器会将所有代码编译为 .h 文件并包括 .h 文件。

备注

在不含参数的情况下指定 /Yc 时,编译器将所有代码编译到基本源文件的末尾,或者编译到基本文件中出现 hdrstop 指令的位置。 生成的 .pch 文件与基本源文件具有相同的基本名称,除非你使用 hdrstop pragma 或 /Fp 选项指定不同的文件名。

预编译代码保存在一个文件中,该文件的名称是根据 /Yc 选项指定的文件的基本名称和 .pch 扩展名创建的。 还可以使用 /Fp (Name .Pch File) 选项,用于指定预编译头文件的名称。

如果使用 /Ycfilename,编译器将编译所有代码,直到并包括指定的文件,以供后续使用 /Yu(使用预编译的头文件)选项。

如果选项 /Ycfilename 和 /Yufilename 出现在同一命令行上并且都引用或暗示相同的文件名,则 /Ycfilename 优先。 此功能简化了生成文件的编写。

有关预编译标头的详细信息,请参阅:

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

  1. 选择 .cpp 文件。 .cpp 文件必须包含 .h 文件,而 .h 文件包含预编译头信息。 可以在文件级别重写项目的 /Yc 设置。

  2. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  3. 打开“配置属性”、“C/C++”、“预编译标头”属性页。

  4. 修改“预编译标头”属性。

  5. 若要设置文件名,请修改“预编译标头文件”属性。

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

示例

考虑下列代码:

// prog.cpp
// compile with: cl /c /Ycmyapp.h prog.cpp
#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 的预编译标头文件中。

另请参阅

MSVC 编译器选项
MSVC 编译器命令行语法
预编译的头文件