/Gy (啟用函式階層連結)

允許編譯器以封裝函式 (COMDAT) 的形式來封裝個別函式。

語法

/Gy[-]

備註

連結器要求將函式個別封裝為 COMDAT,以排除或排序 DLL 或 .exe 檔案中的個別函式。

您可以使用連結器選項 /OPT (優化) 從 .exe 檔案中排除未參考的封裝函式。

您可以使用連結器選項 /ORDER (Put Functions in Order) 在 .exe 檔案中指定的順序中包含封裝的函式。

如果內嵌函式是以呼叫的形式具現化,則一律會封裝內嵌函式(例如,如果內嵌關閉,或您取得函式位址)。 此外,類別宣告中定義的 C++ 成員函式會自動封裝;其他函式不是,而且必須選取此選項,才能將它們編譯為已封裝的函式。

注意

用於 [編輯後繼續] 的 /ZI 選項會自動設定 /Gy 選項。

在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [ 組態屬性 > C/C++ > 程式碼產生 ] 屬性頁。

  3. 修改 Enable Function-Level Linking 屬性。

若要以程式方式設定這個編譯器選項

另請參閱

MSVC 編譯器選項
MSVC 編譯器命令列語法