/Oy (Framezeiger unterdrücken)

Unterdrückt die Erstellung von Framezeigern im Anrufstapel.

Syntax

/Oy[-]

Bemerkungen

Durch diese Option werden Funktionsaufrufe beschleunigt, da keine Framezeiger eingerichtet und entfernt werden müssen. Außerdem wird eine weitere Registrierung für die allgemeine Nutzung frei.

/Oy aktiviert die Auslassung von Framezeigern und /Oy- deaktiviert die Auslassung. In x64-Compilern sind /Oy und /Oy- nicht verfügbar.

Wenn Ihr Code framebasierte Adressierung erfordert, können Sie die Option /Oy- nach der Option /Ox angeben oder optimize mit den Argumenten "y" und off verwenden, um eine maximale Optimierung mit framebasierter Adressierung zu erhalten. Der Compiler erkennt die meisten Situationen, in denen framebasierte Adressierung erforderlich ist ( _allocasetjmp z. B. mit den Funktionen und und mit strukturierter Ausnahmebehandlung).

Die Optionen /Ox (Die meisten Geschwindigkeitsoptimierungen aktivieren) und /O1, /O2 (Größe minimieren, Geschwindigkeit maximieren) implizieren /Oy. Wenn Sie /Oy- nach der Option /Ox, /O1 oder /O2 angeben, wird /Oy deaktiviert, unabhängig davon, ob es explizit oder impliziert ist.

Die /Oy-Compileroption erschwert die Verwendung des Debuggers, da der Compiler Framezeigerinformationen unterdrückt. Wenn Sie eine Debugcompileroption (/Z7, /Zi, /ZI) angeben, wird empfohlen, die /Oy-Option nach allen anderen Optimierungscompileroptionen anzugeben.

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Wählen Sie die Eigenschaftenseite KonfigurationseigenschaftenC>/C++>-Optimierung aus.

  3. Ändern Sie die Eigenschaft Framezeker weglassen . Diese Eigenschaft fügt nur die Option /Oy hinzu oder entfernt sie. Wenn Sie die Option /Oy- hinzufügen möchten, wählen Sie die Eigenschaftenseite Befehlszeile aus, und ändern Sie Zusätzliche Optionen.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

/O-Optionen (Code optimieren)
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile