/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 filename
module-name
elementu , 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-name
elementu , 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)