/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 /Yc
de .
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 /Yc
options de nom de fichier et /Yu
de nom de fichier se produisent sur la même ligne de commande et font référence au même nom de fichier, /Yc
le 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
Spécifiez
/Yc
(Créer un fichier d’en-tête précompilé) sur un fichier .cpp dans votre projet.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.
Sélectionnez la page de propriétés Des en-têtes> précompilés C/C++.>
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
- Consultez PrecompiledHeaderThrough et UsePrecompiledHeader.
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.CPP
de commande , le compilateur ne traite pas les trois instructions Include. Au lieu de cela, il utilise du code précompilé à partir duquel MYAPP.pch
il 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