hdrstop
pragma
Vous donne plus de contrôle sur les noms de fichiers de précompilation et sur l’emplacement où l’état de compilation est enregistré.
Syntaxe
#pragma hdrstop
[ ( « filename » ) ]
Notes
Le nom de fichier est le nom du fichier d’en-tête précompilé à utiliser ou à créer (selon qu’il /Yu
est spécifié ou /Yc
spécifié). Si le nom de fichier ne contient pas de spécification de chemin d’accès, le fichier d’en-tête précompilé est supposé se trouver dans le même répertoire que le fichier source.
Si un fichier C ou C++ contient une hdrstop
pragma fois compilé avec /Yc
, le compilateur enregistre l’état de la compilation jusqu’à l’emplacement du pragmafichier . État compilé de n’importe quel code qui suit l’enregistrement pragma n’est pas enregistré.
Utilisez un nom de fichier pour nommer le fichier d’en-tête précompilé dans lequel l’état compilé est enregistré. Un espace entre hdrstop
le nom de fichier et le nom de fichier est facultatif. Le nom de fichier spécifié dans la hdrstop
pragma chaîne est une chaîne et est soumis aux contraintes d’une chaîne C ou C++. En particulier, vous devez l’inclure entre guillemets et utiliser le caractère d’échappement (barre oblique inverse, \
) pour spécifier les 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 par ordre de priorité :
Argument de l’option du
/Fp
compilateurArgument de nom de fichier à
#pragma hdrstop
Nom de base du fichier source avec une extension PCH
Si aucune des options et /Yu
options ou hdrstop
pragma spécifie un nom de /Yc
fichier, le nom de base du fichier source est utilisé comme nom de base du fichier d’en-tête précompilé.
Vous pouvez également utiliser les commandes de prétraitement pour remplacer une macro 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 l’emplacement où le hdrstop
pragma fichier peut être placé :
Il doit apparaître hors de toute déclaration ou définition de données ou de fonction.
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, l’affichage s’affiche après que hdrstop
pragma deux fichiers ont été inclus et qu’une fonction inline a été définie. Cet emplacement peut sembler d’abord être un emplacement impair pour le pragma. Considérez toutefois que l’utilisation des options de précompilation manuelle et/Yu
, /Yc
avec les hdrstop
pragma rend possibles pour vous permettre de précompiler des fichiers sources entiers, ou même du code inline. Le compilateur Microsoft ne vous limite pas à précompiler uniquement les déclarations de données.