告知編譯程式使用現有的 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如果自變數是filename沒有module-name的 ,則會在運行時間開啟檔案,以確認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 (列出模組和標頭單位相依性)
/headerUnit (使用標頭單位 IFC)
/exportHeader (建立標頭單位)