Condividi tramite


/reference (Usare il modulo denominato IFC)

Indica al compilatore di usare un IFC esistente (.ifc) per la compilazione corrente.

Sintassi

/reference module-name=filename
/reference filename

Argomenti

filename
Nome di un file che contiene dati IFC, ovvero informazioni predefinite sul modulo. Per importare più moduli, includere un'opzione separata /reference per ogni file.

module-name
Nome valido di un nome di unità di interfaccia del modulo primario esportato o nome completo della partizione del modulo.

Osservazioni:

Nella maggior parte dei casi, non è necessario specificare questa opzione perché il sistema di progetto individua automaticamente le dipendenze dei moduli all'interno di una soluzione.

L'opzione /reference del compilatore richiede l'abilitazione dell'opzione /std:c++20 del compilatore o successiva , ad esempio /std:c++latest. L'opzione /reference è disponibile a partire da Visual Studio 2019 versione 16.10.

Se l'argomento /reference è un filename oggetto senza , module-nameil file viene aperto in fase di esecuzione per verificare i nomi degli filename argomenti di un'importazione specifica. Può comportare prestazioni di runtime più lente in scenari con molti /reference argomenti.

Deve module-name essere un nome di unità di interfaccia del modulo primario valido o un nome completo della partizione del modulo. Esempi di nomi di interfaccia del modulo primario includono:

  • M
  • M.N.O
  • MyModule
  • my_module

Esempi di nomi di partizioni di modulo completi includono:

  • M:P
  • M.N.O:P.Q
  • MyModule:Algorithms
  • my_module:algorithms

Se viene creato un riferimento a un modulo usando , module-namegli altri moduli nella riga di comando non vengono cercati se il compilatore rileva un'importazione di tale nome. Ad esempio, data la riga di comando seguente:

cl ... /std:c++latest /reference m.ifc /reference m=n.ifc

Nel caso precedente, se il compilatore vede import m; , m.ifc non viene eseguita la ricerca.

Esempi

Dati tre moduli elencati in questa tabella:

Modulo File IFC
M m.ifc
M:Part1 m-part1.ifc
Core.Networking Networking.ifc

Le opzioni di riferimento che usano un filename argomento sono simili alle seguenti:

cl ... /std:c++latest /reference m.ifc /reference m-part.ifc /reference Networking.ifc

Le opzioni di riferimento che usano module-name=filename sono simili alle seguenti:

cl ... /std:c++latest /reference m=m.ifc /reference M:Part1=m-part.ifc /reference Core.Networking=Networking.ifc

Vedi anche

/scanDependencies (Elencare le dipendenze del modulo in formato standard)
/sourceDependencies:directives (Elencare le dipendenze del modulo e dell'unità di intestazione)
/headerUnit (Usare l'unità di intestazione IFC)
/exportHeader (Creare unità di intestazione)