/Oy (vynechání ukazatele na rámec)
Zakazuje vytváření ukazatelů na rámce v zásobníku volání.
/Oy[-]
Poznámky
Tento parametr urychluje volání funkcí, protože není potřeba vytvářet a odebírat žádné ukazatele na rámce.Navíc se uvolní jeden další registr (EBP na procesorech Intel 386 nebo novějších) pro ukládání často používaných proměnných a podvýrazů.
Parametr /Oy povoluje vynechání ukazatele na rámce a parametr /Oy- vynechání zakazuje. Parametr /Oy je dostupný pouze v kompilátorech architektury x86.
Pokud váš kód vyžaduje adresování pomocí registru EBP, můžete zadáním parametru /Oy– za parametr /Ox nebo použitím optimize s argumenty y a off získat při adresování pomocí registru EBP maximální optimalizaci.Kompilátor rozpozná většinu situací, kde se požaduje adresování pomocí registru EBP (například při použití funkcí _alloca a setjmp a při zpracování strukturovaných výjimek).
Při použití parametrů /Ox (úplná optimalizace) a /O1, /O2 (minimální velikost, maximální rychlost) se implicitně předpokládá parametr /Oy.Při zadání parametru /Oy– za parametr /Ox, /O1 nebo /O2 se zakáže parametr /Oy, ať už je explicitní nebo implicitní.
Parametr kompilátoru /Oy znesnadňuje použití ladicího programu, protože kompilátor nezobrazuje informace o ukazateli na rámce.Pokud zadáte ladicí parametr kompilátoru (/Z7, /Zi, /ZI), doporučujeme za jakékoli jiné optimalizační parametry kompilátoru zadat parametr /Oy-.
Nastavení tohoto parametru kompilátoru ve vývojovém prostředí Visual Studio
Otevřete dialogové okno Stránky vlastností svého projektu.Podrobnosti naleznete v tématu Postupy: Otevření stránek vlastností projektu.
Klikněte na složku C/C++.
Klikněte na stránku vlastností Optimalizace.
Upravte vlastnost Vypustit ukazatele na rámce.Tato vlastnost přidá nebo odebere pouze parametr /Oy.Pokud chcete přidat parametr /Oy-, klikněte na položku Příkazový řádek a upravte Další možnosti.
Programové nastavení tohoto parametru kompilátoru
- Další informace naleznete v tématu OmitFramePointers.