hdrstop

提供了其他控件为预编译文件的名称和对生成状态中保存的位置。

#pragma hdrstop [( "filename" )]  

备注

文件名 是使用或创建的预编译头文件的名称 (基于 /Yu/Yc 是否指定)。如果 文件 不包含路径规范,预编译头文件假定在内容和源文件同名。

如果 c. 或 C++ 文件包含 hdrstop 请注意,当使用 /Yc 进行编译,编译器将生成状态到批注的位置。按照说明任何代码的生成状态不会保存。

使用 文件名 为该生成状态中保存的预编译头文件。在 hdrstop文件名之间的 一个空格是可选的。在 hdrstop 说明指定的因此文件名是字符串并受任何 C 或 C++ 字符串的约束。具体而言,您必须用引号并使用转义字符 (杠) 指定目录名。例如:

#pragma hdrstop( "c:\\projects\\include\\myinc.pch" )

预编译头文件的名称基于以下规则确定的,按照优先级的顺序:

  1. 对 /Fp 编译器选项的参数

  2. 文件名 参数为 #说明 hdrstop

  3. 源文件的基名称具有 .PCH 扩展的

对于 /Yc 和 /Yu 选项,因此,如果两个生成选项和 hdrstop 杂注不指定文件名,使用源文件的基名称,当预编译头文件的基名称。

还可以使用预处理命令执行宏替换如下所示:

#define INCLUDE_PATH "c:\\progra~`1\\devstsu~1\\vc\\include\\"
#define PCH_FNAME "PROG.PCH"
.
.
.
#pragma hdrstop( INCLUDE_PATH PCH_FNAME )

以下规则管理可以放置的位置 hdrstop 说明:

  • 它必须在所有数据外部出现或函数声明或定义。

  • 必须指定在源文件,而不是在头文件中。

示例

#include <windows.h>                 // Include several files
#include "myhdr.h"

__inline Disp( char *szToDisplay )   // Define an inline function
{
    ...                              // Some code to display string
}
#pragma hdrstop

在此示例中, hdrstop 请注意,显示两个文件包括后,并且内联函数定义。这可能,最初,似乎是注意的一个或多个位置。考虑,但是,该使用手动预编译选项, /Yc 和 /Yu,与 hdrstop 说明使得可以预编译整个源文件 —即使内联代码。Microsoft 编译器不限制到预编译只声明的数据。

请参见

参考

杂注指令和__Pragma关键字