/Oy (Pominięcie wskaźnika ramki)
Pomija tworzenie wskaźników ramek na stosie wywołań.
/Oy[-]
Uwagi
Ta opcja przyspiesza wywołania funkcji, ponieważ nie trzeba definiować i usuwać żadnych wskaźników ramek.Uwalnia jeden lub więcej rejestrów (EBP w procesorach Intel 386 lub nowszych) do przechowywania często używanych zmiennych i wyrażeń podrzędnych.
/Oy umożliwia pominięcie wskaźnika ramki, a /Oy- wyłącza pominięcie. Opcja /Oy jest dostępna tylko w kompilatorach x86.
Jeśli kod wymaga adresowania opartego na EBP, możesz określić opcję /Oy– po opcji /Ox lub użyć optymalizuj z argumentami „y” i off, aby uzyskać maksymalną optymalizację z systemem adresowania opartym na EBP.Kompilator wykrywa większość sytuacji, w których wymagane jest adresowanie oparte na EBP (na przykład z funkcjami _alloca i setjmp i obsługą wyjątków strukturalnych).
Opcje /Ox (Pełna optymalizacja) i /O1, /O2 (Minimalizuj rozmiar, maksymalizuj szybkość) implikują /Oy.Określanie opcji /Oy– po /Ox, /O1 lub /O2 wyłącza opcję /Oy, zarówno jawną, jak i niejawną.
Opcja kompilatora /Oy sprawia, że debuger ma trudniejsze zadanie, ponieważ kompilator pomija informacje o wskaźnikach ramek.Jeśli określono w kompilatorze opcję debugowania (/Z7, /Zi, /ZI), firma Microsoft zaleca, aby określić opcję /Oy- po innych opcjach optymalizacji w kompilatorze.
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz okno dialogowe projektu Strony właściwości.Szczegółowe informacje – zobacz Porady: otwieranie stron właściwości projektów.
Kliknij folder C/C++.
Kliknij stronę właściwości Optymalizacja.
Zmodyfikuj właściwość Pomiń wskaźniki ramki.Właściwość ta dodaje lub usuwa tylko opcję /Oy.Jeśli chcesz dodać opcję /Oy-, kliknij Wiersz polecenia i zmodyfikuj Dodatkowe opcje.
Aby programowo ustawić tę opcję kompilatora
- Zobacz OmitFramePointers.