/ifcMap
Этот параметр сообщает компилятору, где найти файл карты ссылок IFC, который сопоставляет ссылки на именованные модули и блоки заголовков с соответствующими файлами IFC (.ifc
).
Синтаксис
/ifcMap
filename
Замечания
Аргумент *filename*
задает файл ссылочной карты IFC. Он может быть относительным к рабочему каталогу компилятора или абсолютным путем.
Вы можете указать несколько /ifcMap
аргументов компилятору.
Формат файла ссылочной карты IFC — это подмножество формата файла TOML . Файл сопоставления ссылок IFC может содержать сочетание [[module]]
ссылок и [[header-unit]]
ссылок.
Синтаксические ошибки или нераспознанные имена таблиц приводят к ошибке C7696
компилятора (ошибка синтаксического анализа TOML).
Сопоставление именованных модулей
Формат файла сопоставления ссылок IFC для именованных модулей:
# Using literal strings
[[module]]
name = 'M'
ifc = 'C:\modules\M.ifc'
# Using basic strings
[[module]]
name = "N"
ifc = "C:\\modules\\N.ifc"
Этот файл сопоставления ссылок 'M'
IFC сопоставляет именованные модули и 'N'
соответствующие файлы IFC. Эквивалент "/reference" имеет следующий тип:
/reference M=C:\modules\M.ifc /reference N=C:\modules\N.ifc
Дополнительные сведения о том, какие типы имен модулей допустимы для name
поля, см. в разделе /reference remarks
.
Единицы заголовка карты
Формат файла сопоставления ссылок IFC для единиц заголовков:
# Using literal strings
[[header-unit]]
name = ['quote', 'my-utility.h']
ifc = 'C:\header-units\my-utility.h.ifc'
[[header-unit]]
name = ['angle', 'vector']
ifc = 'C:\header-units\vector.ifc'
# Using basic strings
[[header-unit]]
name = ["quote", "my-engine.h"]
ifc = "C:\\header-units\\my-engine.h.ifc"
[[header-unit]]
name = ["angle", "algorithm"]
ifc = "C:\\header-units\\algorithm.ifc"
Этот файл сопоставления ссылок IFC сопоставляется "my-utility.h"
с C:\header-units\my-utility.h.ifc
и C:\header-units\vector.ifc
<vector>
т. д. Эквивалентно /headerUnit
:
/headerUnit:quote my-utility=C:\header-units\my-utility.h.ifc /headerUnit:angle vector=C:\header-units\vector.ifc /headerUnit:quote my-engine.h=C:\header-units\my-engine.h.ifc /headerUnit:angle algorithm=C:\header-units\algorithm.ifc
При [[header-unit]]
указании в файле карты ссылок IFC компилятор неявно включает /Zc:preprocessor
, так же как он неявно включен при /headerUnit
использовании. Дополнительные сведения о поведении angle
методов поиска quote
см . в примечаниях /headerUnit.
См. также
Обзор модулей в C++
Пошаговое руководство. Создание и импорт единиц заголовков в проектах Visual C++
Использование модулей C++ в MSVC из командной строки