/Yc(创建预编译头文件)
更新:2007 年 11 月
指示编译器创建预编译头文件 (.pch),该文件表示在某一时刻的编译状态。
/Yc[filename]
参数
- filename
指定一个头文件 (.h)。使用此参数时,编译器将对直到 .h 文件(包括该文件)的所有代码进行编译。
备注
在指定 /Yc 而不使用任何参数时,编译器将编译直到基源文件结尾或基文件中出现 hdrstop 的位置的所有代码。得到的 .pch 文件与基源文件具有相同的基名称,除非使用 hdrstop 杂注或 /Fp 选项指定不同的文件名。
预编译代码保存在一个文件中,该文件的名称根据用 /Yc 选项指定的文件的基名称创建,且扩展名为 .pch。还可以使用 /Fp(命名 .pch 文件) 选项为预编译头文件指定名称。
如果使用 /Ycfilename,编译器将编译直到指定文件(包括该文件)的所有代码,以便随后用于 /Yu 选项。
如果选项 /Ycfilename 和 /Yu(使用预编译头文件)filename 出现在同一命令行上,并且两者都引用或暗示同一文件名,则 /Ycfilename 优先。此功能简化了生成文件的编写。
有关预编译头的更多信息,请参见:
在 Visual Studio 开发环境中设置此编译器选项
选择一个 .cpp 文件。该 .cpp 文件必须 #include 包含预编译头信息的 .h 文件。项目的 /Yc 设置可以在文件级别上重写。
打开此项目的“属性页”对话框。有关详细信息,请参见如何:打开项目属性页。
单击“C/C++”文件夹。
单击“预编译头”属性页。
修改“通过文件创建/使用 PCH”属性或“创建/使用预编译头”属性。
以编程方式设置此编译器选项
示例
考虑下列代码:
#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 的预编译头文件中。