Compartir a través de


hdrstop pragma

Proporciona control adicional sobre los nombres de archivo de la precompilación y sobre la ubicación en la que se guarda el estado de la compilación.

Sintaxis

#pragma hdrstop [ ( "filename" ) ]

Comentarios

El elemento filename es el nombre del archivo de encabezado precompilado que se va a usar o crear (dependiendo de si se especifica /Yu o /Yc). Si filename no contiene una especificación de ruta, se presupone que el archivo de encabezado precompilado está en el mismo directorio que el archivo de código fuente.

Si un archivo de C o C++ contiene una hdrstoppragma cuando se compila con /Yc, el compilador guarda el estado de la compilación hasta la ubicación de la pragma. El estado compilado de cualquier código que aparece detrás de pragma no se guarda.

Use filename para nombrar el archivo de encabezado precompilado en el que se guarda el estado compilado. El espacio entre hdrstop y filename es opcional. El nombre de archivo especificado en la hdrstoppragma es una cadena y, por tanto, está sujeto a las restricciones de cualquier cadena de C o C++. En concreto, debe incluirse entre comillas y usar el carácter de escape (la barra diagonal inversa, \) para especificar nombres de directorio. Por ejemplo:

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

El nombre del archivo de encabezado precompilado se determina según las reglas siguientes, en orden de prioridad:

  1. El argumento de la opción del compilador /Fp

  2. El argumento filename para #pragma hdrstop

  3. El nombre base del archivo de código fuente con una extensión de PCH

Si ninguna de las opciones /Yc y /Yu o la hdrstoppragma especifica un nombre de archivo, el nombre basa del archivo de código fuente se usa como el nombre base del archivo de encabezado precompilado.

Puede usar también comandos de preprocesamiento para realizar la sustitución de macros del modo siguiente:

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

Las siguientes reglas determinan dónde se puede colocar la instrucción hdrstoppragma:

  • Debe aparecer fuera de cualquier declaración o definición de datos o función.

  • Se debe especificar en el archivo de código fuente, no en un archivo de encabezado.

Ejemplo

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

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

En este ejemplo, la hdrstoppragma aparece después de que se hayan incluido dos archivos y se haya definido una función insertada. Esto podría parecer, a primera vista, una colocación extraña para la pragma. Tenga en cuenta, sin embargo, que el uso de las opciones de precompilación manual, /Yc y /Yu, con la hdrstoppragma, posibilita que precompile los archivos de código fuente en su totalidad, incluido el código insertado. El compilador de Microsoft no lo limita a precompilar solo las declaraciones de datos.

Consulte también

Directivas pragma y las palabras clave __pragma y _Pragma