Partager via


/Yu (Utiliser un fichier d'en-tête précompilé)

Mise à jour : novembre 2007

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

/Yu[filename]

Arguments

  • filename
    Nom d'un fichier d'en-tête, qui est inclus dans le fichier source à l'aide d'une directive de préprocesseur #include.

Notes

Le nom du fichier Include doit être le même à la fois pour l'option /Yc qui crée l'en-tête précompilé et pour toute option /Yu ultérieure indiquant l'utilisation de l'en-tête précompilé.

Pour /Yc, filename spécifie le point auquel la précompilation s'arrête ; le compilateur précompile tout le code jusqu'à filename et nomme l'en-tête précompilé qui en résulte en utilisant le nom de base du fichier Include et une extension .pch.

Le fichier .pch a dû être créé avec /Yc.

Le compilateur considère tout le code qui précède le fichier .h comme étant précompilé. Il passe directement au code situé juste après la directive #include associée au fichier .h, utilise le code contenu dans le fichier .pch, puis compile tout le code qui se trouve après filename.

Sur la ligne de commande, aucun espace n'est admis entre /Yu et filename.

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

Si vous spécifiez l'option /Yu sans nom de fichier et oubliez de spécifier un pragma hdrstop, un message d'erreur est généré et la compilation échoue.

Si les options /Ycfilename et /Yufilename se produisent sur la même ligne de commande et font toutes les deux référence au même nom de fichier, /Ycfilename prend la priorité, en précompilant tout le code jusqu'au fichier nommé compris. Cette fonctionnalité simplifie l'écriture de makefiles.

Comme les fichiers .pch contiennent des informations relatives à l'environnement d'ordinateur, ainsi que des informations d'adresse mémoire à propos du programme, vous ne devez utiliser un fichier .pch que 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 contenu dans votre projet.

  2. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d'informations, consultez Comment : ouvrir les pages de propriétés d'un projet.

  3. Cliquez sur le dossier C/C++.

  4. Cliquez sur la page de propriétés En-têtes précompilés.

  5. Modifiez la propriété Création/utilisation d'un en-tête précompilé en spécifiant un nom de fichier ou la propriété Création/utilisation d'un en-tête précompilé.

Pour définir cette option du compilateur par programme

Exemples

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é avec la ligne de commande CL /YuMYAPP.H PROG.CPP, le compilateur ne traite pas les trois instructions Include, mais utilise le code précompilé du fichier MYAPP.pch ; la compilation est donc plus rapide puisque le compilateur n'a pas besoin de prétraiter les trois fichiers (et les fichiers éventuels qu'ils peuvent inclure).

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

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'à MYAPP.h et incluant ce dernier. Le compilateur compile ensuite le code se trouvant après l'instruction include MYAPP.h.

Voir aussi

Référence

Options du compilateur

Définition des options du compilateur