/Oy (Pominięcie wskaźnika ramki)
Pomija tworzenie wskaźników ramek na stosie wywołań.
Składnia
/Oy[-]
Uwagi
Ta opcja przyspiesza wywołania funkcji, ponieważ nie trzeba definiować i usuwać żadnych wskaźników ramek. Zwalnia również jeszcze jeden rejestr do użytku ogólnego.
/Oy umożliwia pominięcie wskaźnika ramki i /Oy- wyłącza pominięcie. W kompilatorach x64 /Oy i /Oy- nie są dostępne.
Jeśli kod wymaga adresowania opartego na ramce, możesz określić /Oy- opcję po /Ox opcji lub użyć optymalizacji z wartością "y" i wyłączyć argumenty, aby uzyskać maksymalną optymalizację przy użyciu adresowania opartego na ramce. Kompilator wykrywa większość sytuacji, w których wymagane jest adresowanie oparte na ramce (na przykład z funkcjami i setjmp
i oraz obsługą _alloca
wyjątków strukturalnych).
/Ox (Włącz większość optymalizacji szybkości) i /O1, /O2 (Minimalizuj rozmiar, Maksymalizuj szybkość) oznacza /Oy. Określenie /Oy- po /Ox, /O1 lub /O2 opcja wyłącza /Oy, czy jest jawne, czy dorozumiane.
Opcja /Oy kompilatora sprawia, że użycie debugera jest trudniejsze, ponieważ kompilator pomija informacje o wskaźniku ramki. Jeśli określisz opcję kompilatora debugowania (/Z7, /Zi, /ZI), zalecamy określenie opcji /Oy- po innych opcjach kompilatora optymalizacji.
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę właściwości>Właściwości konfiguracji C/C++>Optimization.
Zmodyfikuj właściwość Pomiń wskaźniki ramki. Ta właściwość dodaje lub usuwa tylko /Oy opcji. Jeśli chcesz dodać /Oy- opcji, wybierz stronę właściwości Wiersza polecenia i zmodyfikuj dodatkowe opcje.
Aby programowo ustawić tę opcję kompilatora
- Zobacz: OmitFramePointers.
Zobacz też
/O Opcje (Optymalizuj kod)
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC