/Oy (Framezeiger unterdrücken)

Unterdrückt das Erstellen von Framezeigern auf die Aufrufliste.

/Oy[-]

Hinweise

Diese Option beschleunigt Funktionsaufrufe, da keine Framezeiger eingerichtet und entfernt werden müssen.Außerdem wird ein weiteres Register (EBP bei Intel 386- oder neueren Prozessoren) zum Speichern häufig verwendeter Variablen und untergeordneter Ausdrücke freigegeben.

/Oy aktiviert die Unterdrückung des Framezeigers, und /Oy- deaktiviert die Unterdrückung, /Oy ist nur in x86-Compilern verfügbar.

Wenn der Code eine EBP-basierte Adressierung erfordert, können Sie die /Oy–-Option nach der /Ox-Option angeben oder optimieren Sie zusammen mit dem "y"-Argument und dem "off"-Argument verwenden, um die größtmögliche Optimierung für die EBP-basierte Adressierung zu erhalten.Der Compiler erkennt die meisten Situationen, in denen eine EBP-basierte Adressierung erforderlich ist (beispielsweise bei der _alloca-Funktion und der setjmp-Funktion sowie bei strukturierter Ausnahmebehandlung).

Die /Ox (Komplette Optimierung)-Option und die /O1, /O2 (Größe minimieren, Geschwindigkeit maximieren)-Option implizieren /Oy.Durch Angeben von /Oy– nach einer der Optionen /Ox, /O1 oder /O2 wird /Oy deaktiviert, sei es explizit oder implizit.

Die /Oy-Compileroption erschwert die Verwendung des Debuggers, da der Compiler hierdurch Framezeigerinformationen unterdrückt.Wenn Sie eine Debug-Compileroption (/Z7, /Zi, /ZI) festlegen, sollten Sie die Option /Oy- nach allen anderen Optimierungsoptionen angeben.

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

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts.Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.

  2. Klicken Sie auf den Ordner C/C++.

  3. Klicken Sie auf die Eigenschaftenseite Optimierung.

  4. Ändern Sie die Eigenschaft Framezeiger unterdrücken.Durch diese Eigenschaft wird nur die /Oy-Option hinzugefügt oder entfernt.Wenn Sie die /Oy--Option hinzufügen möchten, klicken Sie auf Befehlszeile, und ändern Sie Zusätzliche Optionen.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

Referenz

/O-Optionen (Code optimieren)

Compileroptionen

Festlegen von Compileroptionen