共用方式為


/Oy (框架指標省略)

在呼叫堆疊上隱藏框架指標的建立。

語法

/Oy[-]

備註

這個選項會加速函式呼叫,因為並不需要設定及移除框架指標。 它也會釋出一個註冊,以供一般使用。

/Oy 可啟用框架指標遺漏和 /Oy- 會停用遺漏。 在 x64 編譯器中, 無法使用 /Oy /Oy-

如果您的程式碼需要以框架為基礎的定址,您可以在 /Ox 選項後面 指定 /Oy- 選項,或使用 optimize 搭配 「 y 」 和 off 引數,以取得框架型定址的最大優化。 編譯器會偵測大部分的情況,即需要框架式定址(例如,具有 和 setjmp_alloca 式,以及結構化例外狀況處理)。

/Ox (啟用大多數速度優化) /O1、/O2 (最小化大小、最大化速度) 選項表示 /Oy 。 在 /Ox /O1 /O2 選項之後 指定 /Oy, 會停用 /Oy ,無論是明確還是隱含。

/Oy 編譯器選項會讓使用偵錯工具更加困難,因為編譯器會隱藏畫面指標資訊。 如果您指定偵錯編譯器選項 ( /Z7、/Zi、/ZI ),建議您在任何其他優化編譯器選項之後指定 /Oy- 選項。

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

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

  2. 選取 [ 組態屬性 > C/C++ > 優化 ] 屬性頁面。

  3. 修改省略 Frame Pointers 屬性。 此屬性只會 新增或移除 /Oy 選項。 如果您想要新增 /Oy- 選項,請選取 [命令列 ] 屬性頁並修改 [其他選項 ]。

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

另請參閱

/O 選項 (最佳化程式碼)
MSVC 編譯器選項
MSVC 編譯器命令列語法