Utilisation des en-têtes précompilés avec les compilateurs C++ basés sur Clang

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Compilateurs C++ basés sur Clang


Un fichier d'en-tête précompilé est un fichier d'en-tête C++ qui est précompilé afin d'accélérer son traitement lors de la compilation. Quand vous utilisez un compilateurs C++ basés sur Clang, vos projets ne peuvent utiliser à la fois qu'un seul en-tête précompilé pour la précompilation. Quand vous utilisez un BCC32, chacun de vos projets peut utiliser plusieurs en-têtes précompilés.

Le fichier PCH.h est le fichier d'en-tête précompilé par défaut pour les applications C++

Un en-tête précompilé est automatiquement généré pour chaque projet C++. Le nom par défaut du fichier d'en-tête précompilé généré est :

 <projectname>PCH<n>.h
  • <projectname> est le nom du projet pour lequel l'en-tête précompilé est créé.
  • <n> est le numéro de l'en-tête précompilé.

Par exemple, quand vous créez une nouvelle application C++ nommée Projet1, l'en-tête précompilé suivant est automatiquement généré, quel que soit le compilateur utilisé pour construire ce projet :

Project1PCH1.h

Le fichier PCH.h est un noeud dans le Gestionnaire de projets pour chaque projet C++. L'en-tête précompilé généré automatiquement (le fichier PCH.h) est utilisé par défaut dans la compilation des applications C++ Windows 64 bits.

Avec BCC32 : Le compilateur C++ Windows 32 bits a toujours eu le comportement par défaut de génération des en-têtes précompilés pour vous, et ce comportement n'a pas changé. Vous pouvez néanmoins indiquer à BCC32 d'utiliser le fichier PCH.h présenté dans le Gestionnaire de projets si vous incluez (#include) simplement le fichier PCH.h (suivi de #pragma hdrstop;) dans chaque fichier source de votre projet. Vous devrez bien entendu éditer le contenu du fichier PCH.h pour inclure (#include) tous les en-têtes nécessaires à votre projet.

Création d'un en-tête précompilé pour les compilateurs C++ basés sur Clang

La procédure suivante montre comment utiliser les en-têtes précompilés pour les compilateurs C++ basés sur Clang. Ces compilateurs n'acceptent qu'un seul fichier d'en-tête par projet. En suivant les étapes ci-dessous, vous allez créer le fichier d'en-tête unique et l'utiliser en tant qu'en-tête précompilé pour un fichier source.

Etapes

  1. Créez une application C++ (Application console, VCL ou FireMonkey).
    Vous pouvez utiliser une nouvelle application ou une application créée dans une version de Appmethod C++ antérieure à XE3. Ainsi, il est possible que vous ayez apporté des changements et des additions à l'application depuis sa création, ou il peut s'agir d'une ancienne application créée dans une version précédente de Appmethod C++.
  2. Sélectionnez Fichier > Tout enregistrer. Enregistrez tous les fichiers du projet à un emplacement désiré.
  3. Dans le Gestionnaire de projets, activez la plate-forme cible utilisant un compilateur C++ basé sur Clang (telle que Windows 64 bits) et le fichier PCH :
    • Cliquez avec le bouton droit sur Plates-formes cible, sélectionnez Ajouter une plate-forme puis la plate-forme cible.
    • Cliquez avec le bouton droit sur le fichier PCH.h de votre projet et assurez-vous que l'option Utiliser pour la précompilation est activée.
  4. Editez le fichier d'en-tête PCH.h et incluez les fichiers d'en-têtes que vous voulez précompiler. Le fichier PCH.h doit se terminer par :
    #pragma hdrstop
  5. Enregistrez le fichier PCH.h dans le dossier du projet.
  6. Dans le Gestionnaire de projets, cliquez avec le bouton droit sur le fichier source dans lequel vous voulez inclure l'en-tête précompilé PCH.h, et sélectionnez Modifier les options locales sur le menu contextuel.
  7. Appuyez sur F9 pour exécuter le projet.

Voici la ligne de commande BCC64 pour le fichier source pour lequel l'en-tête précompilé est défini. Notez l'option de ligne de commande qui inclut un en-tête précompilé dans un fichier source (-include-pch) :

PrecompiledHeaders.png

Voir aussi