/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"
この IFC 参照マップ ファイルは、名前付きモジュール 'M'
と '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
にマップし、 <vector>
を C:\header-units\vector.ifc
にマップします。 同等の /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
IFC 参照マップ ファイルで[[header-unit]]
が指定されている場合、コンパイラは、/headerUnit
が使用されるときに暗黙的に有効になるのと同様に、/Zc:preprocessor
を暗黙的に有効にします。 angle
およびquote
ルックアップ メソッドの動作の詳細については、「/headerUnit 解説を参照してください。
関連項目
C++ のモジュールの概要
チュートリアル: Visual C++ プロジェクトでのヘッダー ユニットのビルドとインポート
コマンド ラインからの MSVC での C++ モジュールの使用