/reference (Verwenden des benannten Moduls IFC)

Weist den Compiler an, eine vorhandene IFC (.ifc) für die aktuelle Kompilierung zu verwenden.

Syntax

/reference module-name=filename
/reference filename

Argumente

filename
Der Name einer Datei, die IFC-Daten enthält, die vordefinierte Modulinformationen sind. Um mehrere Module zu importieren, fügen Sie eine separate /reference Option für jede Datei hinzu.

module-name
Ein gültiger Name eines exportierten Primären Modul-Schnittstelleneinheitsnamens oder vollständiger Modulpartitionsname.

Hinweise

In den meisten Fällen müssen Sie diesen Switch nicht angeben, da das Projektsystem Modulabhängigkeiten innerhalb einer Lösung automatisch erkennt.

Für die /reference Compileroption müssen Sie die /std:c++20 Compileroption (z /std:c++latest. B. ) aktivieren. Die /reference Option ist ab Visual Studio 2019, Version 16.10, verfügbar.

Wenn das /reference Argument eine filename ohne Eine module-nameist, wird die Datei zur Laufzeit geöffnet, um die filename Argumentnamen eines bestimmten Imports zu überprüfen. Dies kann zu einer langsameren Laufzeitleistung in Szenarien mit vielen /reference Argumenten führen.

Dies module-name muss ein gültiger Name der primären Modulschnittstelleneinheit oder vollständiger Modulpartitionsname sein. Beispiele für primäre Modulschnittstellennamen sind:

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

Beispiele für vollständige Modulpartitionsnamen sind:

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

Wenn ein Modulverweis mithilfe eines module-nameModuls erstellt wird, werden andere Module in der Befehlszeile nicht durchsucht, wenn der Compiler einen Import dieses Namens findet. Beispiel:

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

Wenn der Compiler im obigen m.ifc Fall siehtimport m;, wird nicht durchsucht.

Beispiele

In der folgenden Tabelle sind drei Module aufgeführt:

Modul IFC-Datei
M m.ifc
M:Part1 m-part1.ifc
Core.Networking Networking.ifc

Die Referenzoptionen, die ein filename Argument verwenden, sind wie folgt:

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

Die zu verwendenden module-name=filename Referenzoptionen sind wie folgt:

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

Siehe auch

/scanDependencies (Listenmodulabhängigkeiten im Standardformular)
/sourceDependencies:directives (Auflisten von Abhängigkeiten von Modul- und Headereinheiten)
/headerUnit (Verwenden der Headereinheit IFC)
/exportHeader (Erstellen von Headereinheiten)