/reference
(Utiliser le module NOMMÉ IFC)
Indique au compilateur d’utiliser un IFC (.ifc
) existant pour la compilation actuelle.
Syntaxe
/reference
module-name=filename
/reference
filename
Arguments
filename
Nom d’un fichier qui contient des données IFC, qui sont des informations de module prédéfinies. Pour importer plusieurs modules, incluez une option distincte /reference
pour chaque fichier.
module-name
Nom valide d’un nom d’unité d’interface de module principal exporté ou nom de partition de module complet.
Notes
Dans la plupart des cas, vous n’aurez pas besoin de spécifier ce commutateur, car le système de projet découvre automatiquement les dépendances de module au sein d’une solution.
L’option /reference
du compilateur nécessite l’activation de l’option de /std:c++20
compilateur ou ultérieure (par /std:c++latest
exemple). L’option /reference
est disponible à partir de Visual Studio 2019 version 16.10.
Si l’argument /reference
est sans filename
module-name
, le fichier est ouvert au moment de l’exécution pour vérifier les filename
noms d’arguments d’une importation spécifique. Il peut entraîner des performances d’exécution plus lentes dans les scénarios qui ont de nombreux /reference
arguments.
Il module-name
doit s’agir d’un nom d’unité d’interface de module principal valide ou d’un nom de partition de module complet. Voici quelques exemples de noms d’interface de module principal :
M
M.N.O
MyModule
my_module
Voici quelques exemples de noms de partition de module complets :
M:P
M.N.O:P.Q
MyModule:Algorithms
my_module:algorithms
Si une référence de module est créée à l’aide d’un module-name
, d’autres modules sur la ligne de commande ne sont pas recherchés si le compilateur rencontre une importation de ce nom. Par exemple, étant donné cette ligne de commande :
cl ... /std:c++latest /reference m.ifc /reference m=n.ifc
Dans le cas ci-dessus, si le compilateur voit import m;
alors m.ifc
qu’il n’est pas recherché.
Exemples
Compte tenu des trois modules répertoriés dans ce tableau :
Module | Fichier IFC |
---|---|
M |
m.ifc |
M:Part1 |
m-part1.ifc |
Core.Networking |
Networking.ifc |
Les options de référence à l’aide d’un filename
argument ressemblent à ceci :
cl ... /std:c++latest /reference m.ifc /reference m-part.ifc /reference Networking.ifc
Les options de référence utilisant module-name=filename
ressemblent à ceci :
cl ... /std:c++latest /reference m=m.ifc /reference M:Part1=m-part.ifc /reference Core.Networking=Networking.ifc
Voir aussi
/scanDependencies
(Répertorier les dépendances de module sous forme standard)
/sourceDependencies:directives
(Répertorier les dépendances de module et d’unité d’en-tête)
/headerUnit
(Utiliser l’unité d’en-tête IFC)
/exportHeader
(Créer des unités d’en-tête)