/reference
(使用具名模組 IFC)
告知編譯程式使用現有的 IFC (.ifc
) 進行目前的編譯。
語法
/reference
module-name=filename
/reference
filename
引數
filename
包含 IFC 資料的檔名,這是預先建置的模組資訊。 若要匯入多個模組,請為每個檔案包含個別 /reference
的選項。
module-name
匯出的主要模組介面單元名稱或完整模組數據分割名稱的有效名稱。
備註
在大部分情況下,您不需要指定此參數,因為專案系統會自動探索解決方案內的模組相依性。
編譯 /reference
程式選項需要您啟用 /std:c++20
或更新版本的編譯程式選項 (例如 /std:c++latest
)。 此選項 /reference
可從 Visual Studio 2019 16.10 版開始提供。
/reference
如果自變數是filename
沒有module-name
的 ,則會在運行時間開啟檔案,以確認filename
自變數名稱為特定匯入。 在具有許多 /reference
自變數的案例中,這可能會導致運行時間效能變慢。
module-name
必須是有效的主要模組介面單元名稱或完整的模組分割區名稱。 主要模組介面名稱的範例包括:
M
M.N.O
MyModule
my_module
完整模組分割名稱的範例包括:
M:P
M.N.O:P.Q
MyModule:Algorithms
my_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
(列出模組和標頭單位相依性)
/headerUnit
(使用標頭單位 IFC)
/exportHeader
(建立標頭單位)