Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Указывает компилятору использовать существующий IFC (.ifc) для текущей компиляции.
Синтаксис
/referencemodule-name=filename
/referencefilename
Аргументы
filename
Имя файла, содержащего данные IFC, предварительно созданные сведения о модуле. Чтобы импортировать несколько модулей, включите отдельный /reference параметр для каждого файла.
module-name
Допустимое имя экспортированного имени блока основного интерфейса модуля или полного имени секции модуля.
Замечания
В большинстве случаев этот параметр не требуется указывать, так как система проектов автоматически обнаруживает зависимости модулей в решении.
Параметр /reference компилятора требует включения /std:c++20 или более поздней версии параметра компилятора (например /std:c++latest). Этот /reference параметр доступен начиная с Visual Studio 2019 версии 16.10.
/reference Если аргумент является безmodule-name, файл открывается filename во время выполнения, чтобы проверить filename имена аргументов определенного импорта. Это может привести к снижению производительности среды выполнения в сценариях с большим количеством /reference аргументов.
Он module-name должен быть допустимым именем основного модуля или полным именем секции модуля. Ниже приведены примеры имен основных интерфейсов модуля:
MM.N.OMyModulemy_module
Ниже приведены примеры полных имен секций модулей:
M:PM.N.O:P.QMyModule:Algorithmsmy_module:algorithms
Если ссылка на модуль создается с помощью module-nameмодуля, другие модули в командной строке не получают поиска, если компилятор обнаруживает импорт этого имени. Например, учитывая эту командную строку:
cl ... /std:c++latest /reference m.ifc /reference m=n.ifc
В приведенном выше случае, если компилятор видит import m; , m.ifc то поиск не выполняется.
Примеры
Учитывая три модуля, как указано в этой таблице:
| Модуль | ФАЙЛ IFC |
|---|---|
M |
m.ifc |
M:Part1 |
m-part1.ifc |
Core.Networking |
Networking.ifc |
Параметры ссылки, использующие filename аргумент, будут следующими:
cl ... /std:c++latest /reference m.ifc /reference m-part.ifc /reference Networking.ifc
Параметры ссылок, которые используются module-name=filename , будут следующими:
cl ... /std:c++latest /reference m=m.ifc /reference M:Part1=m-part.ifc /reference Core.Networking=Networking.ifc
См. также
/scanDependencies (Перечисление зависимостей модуля в стандартной форме)
/sourceDependencies:directives (список зависимостей в header-unit и модулях)
/headerUnit (использование IFC для единицы заголовка)
/exportHeader (создание единиц заголовков)