/reference (Użyj nazwanego modułu IFC)

Informuje kompilator, aby używał istniejącego kontrolera IFC (.ifc) dla bieżącej kompilacji.

Składnia

/reference module-name=filename
/reference filename

Argumenty

filename
Nazwa pliku zawierającego dane IFC, który jest wstępnie utworzonymi informacjami o module. Aby zaimportować więcej niż jeden moduł, dołącz oddzielną /reference opcję dla każdego pliku.

module-name
Prawidłowa nazwa wyeksportowanej jednostki interfejsu modułu podstawowego lub pełna nazwa partycji modułu.

Uwagi

W większości przypadków nie trzeba określać tego przełącznika, ponieważ system projektu automatycznie odnajduje zależności modułów w rozwiązaniu.

Opcja kompilatora /reference wymaga włączenia lub nowszej /std:c++20 opcji kompilatora (np /std:c++latest. ). Ta /reference opcja jest dostępna od wersji 16.10 programu Visual Studio 2019.

/reference Jeśli argument jest bez filenamemodule-nameelementu , plik zostanie otwarty w czasie wykonywania, aby zweryfikować filename nazwy argumentów określonego importu. Może to spowodować wolniejsze działanie środowiska uruchomieniowego w scenariuszach, które mają wiele /reference argumentów.

Musi module-name być prawidłową nazwą jednostki interfejsu modułu podstawowego lub pełną nazwą partycji modułu. Przykłady nazw interfejsów modułu podstawowego to:

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

Przykłady pełnych nazw partycji modułu to:

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

Jeśli odwołanie do modułu zostanie utworzone przy użyciu module-nameelementu , inne moduły w wierszu polecenia nie będą przeszukiwane, jeśli kompilator napotka import tej nazwy. Na przykład biorąc pod uwagę ten wiersz polecenia:

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

W powyższym przypadku, jeśli kompilator widzi import m;m.ifc , nie zostanie przeszukany.

Przykłady

Biorąc pod uwagę trzy moduły wymienione w tej tabeli:

Moduł Plik IFC
M m.ifc
M:Part1 m-part1.ifc
Core.Networking Networking.ifc

Opcje odwołania używające argumentu filename będą wyglądać następująco:

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

Opcje referencyjne, których użyjemy module-name=filename , będą wyglądać następująco:

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

Zobacz też

/scanDependencies (Wyświetlanie listy zależności modułów w postaci standardowej)
/sourceDependencies:directives (Lista zależności modułu i jednostki nagłówka)
/headerUnit (Użyj jednostki nagłówka IFC)
/exportHeader (Utwórz jednostki nagłówka)