hdrstop

Vous donne le contrôle supplémentaire sur les noms de fichiers de précompilation et de l'emplacement auquel l'état de compilation est enregistré.

#pragma hdrstop [( "filename" )]  

Notes

Nom du fichier représente le nom du fichier d'en-tête précompilé à utiliser ou le créer (selon que /Yu ou /Yc est spécifié).Si le nom de fichier ne contient pas de spécification du chemin d'accès, il est supposé que le fichier d'en-tête précompilé est dans le même répertoire que le fichier source.

Si le fichier.c ou C++ contient un pragma de hdrstop une fois compilé avec /Yc, le compilateur signale l'état de la compilation jusqu'à l'emplacement du pragma.l'état compilé d'aucun code qui suit le pragma n'est pas enregistré.

Utilisez le nom de fichier pour nommer le fichier d'en-tête précompilé dans lequel l'état compilé est enregistré.un espace entre hdrstop et le nom de fichier est facultatif.Le nom de fichier spécifié dans le pragma de hdrstop est une chaîne et est soumis par conséquent aux contraintes de toute chaîne C ou C++.En particulier, vous devez le placer entre guillemets et utiliser le caractère d'échappement (barre oblique inverse) pour spécifier des noms de répertoires.Par exemple :

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

Le nom du fichier d'en-tête précompilé est déterminé selon les règles suivantes, en ordre de priorité :

  1. L'argument de l'option du compilateur /Fp

  2. L'argument de nom de fichier par #pragma hdrstop

  3. le nom de base du fichier source avec une extension de .PCH

Pour les options de /Yc et /Yu, si aucun des deux options de compilation ni de le pragma de hdrstop indique un nom de fichier, le nom de base du fichier source est utilisé en tant que nom de base du fichier d'en-tête précompilé.

Vous pouvez également utiliser les commandes de prétraitement d'exécuter la macro remplacement comme suit :

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

les règles suivantes régissent où le pragma de hdrstop peut être placé :

  • Il doit figurer en dehors de toute données ou déclaration de fonction ou définition.

  • il doit être spécifié dans le fichier source, pas dans un fichier d'en-tête.

Exemple

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

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

Dans cet exemple, le pragma de hdrstop survient lorsque deux fichiers ont été inclus et une fonction inline a été définie.Cela peut, au début, sembler un positionnement étrange pour le pragma.Considérez, toutefois, cela à l'aide de les options manuelles de précompilation, /Yc et /Yu, avec le pragma de hdrstop permet pour que vous précompiliez les fichiers sources entiers - même code incorporé.Le compilateur Microsoft ne vous limite pas à précompiler seules les déclarations de données.

Voir aussi

Référence

Directives pragma et le mot clé de __Pragma