/Oy (vynechání ukazatele na rámec)
Zakazuje vytváření ukazatelů na rámce v zásobníku volání.
Syntaxe
/Oy%%
Poznámky
Tento parametr urychluje volání funkcí, protože není potřeba vytvářet a odebírat žádné ukazatele na rámce. Uvolní také jednu další registraci pro obecné použití.
/Oy umožňuje vynechání ukazatele rámce a /Oy- zakáže vynechání. V kompilátorech x64 nejsou dostupné /Oy a /Oy .
Pokud váš kód vyžaduje adresování založené na rámech, můžete za možnost /Oy zadat parametr /Oy nebo použít optimalizaci s argumenty y a vypnutými argumenty, abyste získali maximální optimalizaci s přidělováním na základě rámce. Kompilátor zjistí většinu situací, kdy se vyžaduje adresování na základě rámce (například s funkcemi _alloca
a setjmp
se strukturovaným zpracováním výjimek).
Možnosti /Ox (povolit většinu optimalizací rychlosti) a /O1, /O2 (minimalizovat velikost, maximalizovat rychlost) znamenají /Oy. Určení /Oy- za parametrem /Ox, /O1 nebo /O2 zakáže /Oy bez ohledu na to, jestli je explicitní nebo implicitní.
Možnost kompilátoru /Oy znesnadňuje použití ladicího programu, protože kompilátor potlačí informace o ukazateli rámce. Pokud zadáte možnost kompilátoru ladění (/Z7, /Zi, /ZI), doporučujeme zadat možnost /Oy za všemi dalšími možnostmi kompilátoru optimalizace.
Nastavení tohoto parametru kompilátoru ve vývojovém prostředí Visual Studio
Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.
Vyberte stránku vlastností konfigurace>C/C++>Optimization.
Upravte vlastnost Vynechat ukazatele rámce. Tato vlastnost přidá nebo odebere pouze možnost /Oy . Pokud chcete přidat možnost /Oy- vyberte stránku vlastností příkazového řádku a upravte další možnosti.
Programové nastavení tohoto parametru kompilátoru
- Viz třída OmitFramePointers.
Viz také
/O – možnosti (optimalizace kódu)
Parametry kompilátoru MSVC
Syntaxe příkazového řádku kompilátoru MSVC