/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++>Optimization 屬性頁。

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

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

另請參閱

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