/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 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性>C/C++>Optimization 屬性頁。
修改省略 Frame Pointers 屬性。 此屬性只會 新增或移除 /Oy 選項。 如果您想要新增 /Oy- 選項,請選取 [命令行 ] 屬性頁並修改 [其他選項]。
若要以程式方式設定這個編譯器選項
- 請參閱 OmitFramePointers。