Partager via


/headerUnit (Utiliser l’unité d’en-tête IFC)

Importe une unité d’en-tête. Indique au compilateur où trouver le .ifc fichier (représentation binaire de l’unité d’en-tête) pour l’en-tête spécifié.

Syntaxe

/headerUnit header-filename=ifc-filename
/headerUnit:quote [header-filename=ifc-filename]
/headerUnit:angle [header-filename=ifc-filename]

Arguments

header-filename
Pendant import header-name; la résolution header-name du compilateur sur un fichier sur le disque. Permet header-filename de spécifier ce fichier. Une fois mis en correspondance, le compilateur ouvre l’IFC correspondant nommé par ifc-filename l’importation.

ifc-filename
Nom d’un fichier qui contient des informations d’unité d’en-tête compilées. Pour importer plusieurs unités d’en-tête, ajoutez une option distincte /headerUnit pour chaque fichier.

Notes

L’option /headerUnit du compilateur nécessite /std:c++20 ou une version ultérieure.

L’option /headerUnit du compilateur est disponible dans Visual Studio 2019 version 16.10 ou ultérieure.

Lorsque le compilateur se trouve import "file"; ou import <file>; que cette option de compilateur aide le compilateur à trouver l’unité d’en-tête compilée (.ifc) pour le fichier d’en-tête spécifié. Le chemin d’accès à ce fichier peut être exprimé de ces manières :

  • /headerUnit recherche l’unité d’en-tête compilée dans le répertoire actif ou à l’emplacement spécifié par ifc-filename.

  • /headerUnit:quote recherche le fichier d’unité d’en-tête compilé à l’aide des mêmes règles que #include "file".

  • /headerUnit:angle recherche le fichier d’unité d’en-tête compilé à l’aide des mêmes règles que #include <file>.

Le compilateur ne peut pas mapper un seul header-name à plusieurs .ifc fichiers. Le mappage de plusieurs header-name arguments à un seul .ifc est possible, mais il n’est pas recommandé. Le contenu du fichier .ifc est importé comme s’il s’agissait uniquement de l’en-tête spécifié par header-name.

Le compilateur active implicitement le nouveau préprocesseur lorsque cette option est utilisée. Si une forme de /headerUnit données est spécifiée sur la ligne de commande, elle /Zc:preprocessor est ajoutée à la ligne de commande par le compilateur. Pour refuser l’implicite /Zc:preprocessor, spécifiez : /Zc:preprocessor-

Si vous désactivez le nouveau préprocesseur, mais qu’un fichier que vous compilez importe une unité d’en-tête, le compilateur signale une erreur.

Exemples

Compte tenu d’un projet qui référence deux fichiers d’en-tête et leurs unités d’en-tête, comme indiqué dans ce tableau :

Fichier d’en-tête Fichier IFC
C:\utils\util.h C:\util.h.ifc
C:\app\app.h C:\app\app.h.ifc

Les options du compilateur pour référencer les unités d’en-tête pour ces fichiers d’en-tête particuliers ressemblent à ceci :

cl ... /std:c++latest /headerUnit C:\utils\util.h=C:\util.h.ifc /headerUnit:quote app.h=app.h.ifc

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

Vous ne devez normalement pas le définir dans l’environnement de développement Visual Studio. Il est défini par le système de build.

Voir aussi

/exportHeader (Créer des unités d’en-tête)
/headerName (Créer une unité d’en-tête à partir de l’en-tête spécifié)
/reference (Utiliser le module NOMMÉ IFC)
/translateInclude (Traduire les directives include en directives d’importation)