Поделиться через


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" )

Имя предкомпилированного файла заголовка определяется в соответствии с следующими правилами, в порядке приоритета:

  1. Аргумент к параметру компилятора /Fp

  2. FileName аргумент #директива pragma hdrstop

  3. Базовое имя исходного файла с расширением 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 прагма позволяет возможным для предварительной компиляции все исходные файлы - даже встроенного кода.Компилятор Майкрософт не ограничивает в предварительной компиляции только объявления данных.

См. также

Ссылки

Директивы pragma и ключевое слово __Pragma