hdrstop
Предоставляет дополнительный элемент управления по именам файлов предварительной компиляции и над местоположением на котором сохраняется состояние компиляции.
#pragma hdrstop [( "filename" )]
Заметки
FileName имя предкомпилированного файла заголовка, применяемое при создании или (в зависимости от того, является ли /Yu OR /Yc определяет).If fileName не содержит спецификацию пути предкомпилированного файла заголовка предполагается, что находиться в том же каталоге, что и исходный файл.
Если файл на языке c или C++ содержат a hdrstop директива pragma компилироваться с /Yc, компилятор сохраняет состояние компиляции до расположения pragma.Компилированное не сохраняется состояние любого кода, который следует за помощью прагма-директивы.
Используйте fileName имя предварительно скомпилированный файл заголовка, в котором компилированное состояние сохраняется.Пробел hdrstop и fileName необязательный.Имя файла, указанное в hdrstop директива pragma строка и подлежит поэтому ограничения любой строки c или C++.В частности, необходимо заключить его в кавычки и использовать escape-символы (обратная косая черта), чтобы указать имена каталогов.Примеры.
#pragma hdrstop( "c:\\projects\\include\\myinc.pch" )
Имя предкомпилированного файла заголовка определяется в соответствии с следующими правилами, в порядке приоритета:
Аргумент к параметру компилятора /Fp
FileName аргумент #директива pragma hdrstop
Базовое имя исходного файла с расширением PCH
Для параметров /Yc и /Yu, если ни параметры компиляции и 2 hdrstop используется директива pragma указывает имя файла, базовое имя исходного файла как базовое имя файла предкомпилированного заголовка.
Можно также использовать команды предварительной обработки для замены макроса следующим образом:
#define INCLUDE_PATH "c:\\progra~`1\\devstsu~1\\vc\\include\\"
#define PCH_FNAME "PROG.PCH"
.
.
.
#pragma hdrstop( INCLUDE_PATH PCH_FNAME )
Следующие правила определяют, где hdrstop pragma warning можно поместить:
Она должна находиться вне любых данных или объявления и определения функции.
Она должна быть определена в файле источника, а не в файле заголовка.
Пример
#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 директива pragma появляется после создания файла 2 были включены и встроенная функция была определена.Это может, в начале, показаться, что было нечетным positioning для директивы pragma.Рассмотрим, однако, используя ручных параметры предварительной компиляции, /Yc и /Yu с hdrstop прагма позволяет возможным для предварительной компиляции все исходные файлы - даже встроенного кода.Компилятор Майкрософт не ограничивает в предварительной компиляции только объявления данных.