Share via


/Yu (Utiliser le fichier d’en-tête précompilé)

Indique au compilateur d’utiliser un fichier d’en-tête.pch précompilé () existant dans la compilation actuelle.

Syntaxe

/Yu[filename]

Arguments

nom_fichier
Nom d’un fichier d’en-tête, inclus dans le fichier source à l’aide d’une #include directive de préprocesseur.

Notes

Le nom du fichier include doit être le même pour l’option /Yc qui crée l’en-tête précompilé et pour toute option ultérieure /Yu qui indique l’utilisation de l’en-tête précompilé.

Pour /Yc, nom de fichier spécifie le point auquel la précompilation s’arrête ; le compilateur précompile tout le code en même temps que le nom de fichier et nomme l’en-tête précompilé résultant à l’aide du nom de base du fichier include et d’une extension de .pch.

Le .pch fichier doit avoir été créé à l’aide /Ycde .

Le compilateur traite tout le code qui se produit avant le fichier .h comme précompilé. Il passe juste au-delà de la #include directive associée au .h fichier, utilise le code contenu dans le .pch fichier, puis compile tout le code après le nom de fichier.

Sur la ligne de commande, aucun espace n’est autorisé entre /Yu et le nom de fichier.

Lorsque vous spécifiez l’option /Yu sans nom de fichier, votre programme source doit contenir un #pragma hdrstop pragma qui spécifie le nom de fichier de l’en-tête précompilé, .pch fichier. Dans ce cas, le compilateur utilise l’en-tête précompilé (.pch fichier) nommé par /Fp (Name .pch file). Le compilateur passe à l’emplacement de ce pragma et restaure l’état compilé à partir du fichier d’en-tête précompilé spécifié. Ensuite, il compile uniquement le code qui suit le pragma. S’il #pragma hdrstop ne spécifie pas de nom de fichier, le compilateur recherche un fichier portant un nom dérivé du nom de base du fichier source avec une .pch extension. Vous pouvez également utiliser l’option /Fp pour spécifier un autre .pch fichier.

Si vous spécifiez l’option /Yu sans nom de fichier et que vous ne parvenez pas à spécifier un hdrstop pragma, un message d’erreur est généré et la compilation échoue.

Si les /Ycoptions de nom de fichier et/Yude nom de fichier se produisent sur la même ligne de commande et font référence au même nom de fichier, /Ycle nom de fichier est prioritaire, en précompilant tout le code jusqu’au fichier nommé et en incluant le fichier nommé. Cette fonctionnalité simplifie l’écriture de makefiles.

Étant donné que .pch les fichiers contiennent des informations sur l’environnement de l’ordinateur et les informations d’adresse mémoire sur le programme, vous devez uniquement utiliser un .pch fichier sur l’ordinateur où il a été créé.

Pour plus d’informations sur les en-têtes précompilés, consultez :

Pour définir cette option du compilateur dans l'environnement de développement Visual Studio

  1. Spécifiez /Yc (Créer un fichier d’en-tête précompilé) sur un fichier .cpp dans votre projet.

  2. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  3. Sélectionnez la page de propriétés Des en-têtes> précompilés C/C++.>

  4. Modifiez la propriété Header précompilée, la propriété Create/Use PCH Through File ou la propriété Create/Use Precompiled Header.

Pour définir cette option du compilateur par programmation

Exemple

Si le code suivant :

#include <afxwin.h>   // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h"    // Include information specific to this app
...

est compilé à l’aide de la ligne CL /YuMYAPP.H PROG.CPPde commande , le compilateur ne traite pas les trois instructions Include. Au lieu de cela, il utilise du code précompilé à partir duquel MYAPP.pchil permet de gagner du temps dans le prétraitement des trois fichiers (et tous les fichiers qu’ils peuvent inclure).

Vous pouvez utiliser l’option /Fp (Name .pch file) avec l’option /Yu pour spécifier le nom du fichier si le nom est différent de l’argument de nom de .pch fichier ou /Yc du nom de base du fichier source, comme dans l’exemple suivant :

CL /YuMYAPP.H /FpMYPCH.pch PROG.CPP

Cette commande spécifie un fichier d’en-tête précompilé nommé MYPCH.pch. Le compilateur utilise son contenu pour restaurer l’état précompilé de tous les fichiers d’en-tête jusqu’à et y compris MYAPP.h. Le compilateur compile ensuite le code qui se produit après la #include "MYAPP.h"directive *.

Voir aussi

Options du compilateur MSVC
Syntaxe de ligne de commande du compilateur MSVC