/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 开发环境中设置此编译器选项
选择 .cpp 文件。 .cpp 文件必须包含 .h 文件,而 .h 文件包含预编译头信息。 可以在文件级别重写项目的 /Yc 设置。
打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
打开“配置属性”、“C/C++”、“预编译标头”属性页。
修改“预编译标头”属性。
若要设置文件名,请修改“预编译标头文件”属性。
以编程方式设置此编译器选项
示例
考虑下列代码:
// 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 的预编译标头文件中。