/headerUnit (Usare l'unità di intestazione IFC)

Importa un'unità di intestazione. Indica al compilatore dove trovare il .ifc file (rappresentazione binaria dell'unità di intestazione) per l'intestazione specificata.

Sintassi

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

Argomenti

header-filename
Durante import header-name; il compilatore viene header-name risolto in un file su disco. Utilizzare header-filename per specificare il file. Una volta trovata la corrispondenza, il compilatore apre l'IFC corrispondente denominato da ifc-filename per l'importazione.

ifc-filename
Nome di un file che contiene informazioni sull'unità di intestazione compilata. Per importare più unità di intestazione, aggiungere un'opzione separata /headerUnit per ogni file.

Osservazioni:

L'opzione /headerUnit del compilatore richiede /std:c++20 o versioni successive.

L'opzione /headerUnit del compilatore è disponibile in Visual Studio 2019 versione 16.10 o successiva.

Quando il compilatore incontra import "file"; o import <file>; questa opzione del compilatore consente al compilatore di trovare l'unità di intestazione compilata (.ifc) per il file di intestazione specificato. Il percorso di questo file può essere espresso in questi modi:

  • /headerUnit cerca l'unità di intestazione compilata nella directory corrente o nel percorso specificato da ifc-filename.

  • /headerUnit:quote cerca il file di unità di intestazione compilato usando le stesse regole di #include "file".

  • /headerUnit:angle cerca il file di unità di intestazione compilato usando le stesse regole di #include <file>.

Il compilatore non può eseguire il mapping di un singolo header-name file a più .ifc file. È possibile eseguire il mapping di più header-name argomenti a un singolo .ifc argomento, ma non è consigliabile. Il contenuto di .ifc viene importato come se fosse solo l'intestazione specificata da header-name.

Il compilatore abilita in modo implicito il nuovo preprocessore quando viene usata questa opzione. Se nella riga di comando viene specificata una forma di , /Zc:preprocessor viene aggiunta alla riga di /headerUnit comando dal compilatore. Per rifiutare esplicitamente l'implicito /Zc:preprocessor, specificare: /Zc:preprocessor-

Se si disabilita il nuovo preprocessore, ma un file compilatore importa un'unità di intestazione, il compilatore invierà un errore.

Esempi

Dato un progetto che fa riferimento a due file di intestazione e alle relative unità di intestazione, come indicato in questa tabella:

File di intestazione File IFC
C:\utils\util.h C:\util.h.ifc
C:\app\app.h C:\app\app.h.ifc

Le opzioni del compilatore per fare riferimento alle unità di intestazione per questi file di intestazione specifici sono simili alle seguenti:

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

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

In genere non è consigliabile impostare questa impostazione nell'ambiente di sviluppo di Visual Studio. Viene impostato dal sistema di compilazione.

Vedi anche

/exportHeader (Creare unità di intestazione)
/headerName (Creare un'unità di intestazione dall'intestazione specificata)
/reference (Usare il modulo denominato IFC)
/translateInclude (Tradurre direttive di inclusione in direttive import)