共用方式為


/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 (建立標頭單位)