/Oy (框架指標省略)
更新:2007 年 11 月
會隱藏呼叫堆疊上框架指標的建立。
/Oy[-]
備註
這個選項會加速函式呼叫,因為並不需要設定及移除框架指標。而且也能夠釋出更多暫存器 (Intel 386 或以上的 EBP),以供儲存經常使用的變數和子運算式。
/Oy 會啟用框架指標省略,而 /Oy- 會停用省略。 /Oy 只在 x86 編譯器中提供使用。
如果程式碼需要 EBP 架構定址,您可以在 /Ox 選項之後指定 /Oy– 選項,或使用 optimize 搭配 "y" 和 off 引數,以獲得對 EBP 架構定址的最大最佳化。編譯器會偵測大部分需要 EBP 架構定址的情況 (例如,對於 _alloca 和 setjmp 函式以及結構化例外處理)。
/Ox (完全最佳化) (完全最佳化) 和 /O1、/O2 (最小大小、最快速度) (偏好快的程式碼) 選項隱含 /Oy。/Ox、/O1 或 /O2 選項停用 /Oy 以後,不管是明確或隱含,都指定 /Oy–。
/Oy 編譯器選項會使得偵錯工具更難使用,因為編譯器會隱藏框架指標資訊。如果您指定偵錯編譯器選項 (/Z7、/Zi、/ZI),我們建議您在任何最佳化編譯器選項後面都指定 /Oy- 選項。
若要在 Visual Studio 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁。
按一下 [C/C++] 資料夾。
按一下 [最佳化] 屬性頁。
修改 [省略框架指標] 屬性。這個屬性只會加入或移除 /Oy 選項。如果您要加入 /Oy- 選項,請按一下 [命令列] 並修改 [其他選項]。
若要以程式方式設定這個編譯器選項
- 請參閱 OmitFramePointers。