Freigeben über


/Oy (Framezeiger unterdrücken)

Unterdrückt die Erstellung von Framezeigern im Anrufstapel.

/Oy[-]

Hinweise

Durch diese Option werden Funktionsaufrufe beschleunigt, 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 und /Oy- deaktiviert die Unterdrückung des Framezeigers. /Oy ist nur in x86-Compilern verfügbar.

Wenn der Code eine EBP-basierte Adressierung erfordert, können Sie die Option /Oy– im Anschluss an die Option /Ox angeben oder optimize zusammen mit den Argumenten y und off verwenden, um die EBP-basierte Adressierung zu optimieren. Der Compiler erkennt in den meisten Situationen, wenn eine EBP-basierte Adressierung erforderlich ist (beispielsweise in der _alloca-und der setjmp-Funktion sowie bei strukturierter Ausnahmebehandlung).

Die Optionen /Ox (Komplette Optimierung) und /O1, /O2 (Größe minimieren, Geschwindigkeit maximieren) implizieren /Oy. Durch Angabe von /Oy– im Anschluss an eine der Optionen /Ox, /O1 oder /O2 wird /Oy deaktiviert, sei es explizit oder implizit.

Die Compileroption /Oy erschwert die Verwendung des Debuggers, da der Compiler hierdurch Framezeigerinformationen unterdrückt. Wenn Sie die Compileroption "debug" (/Z7, /Zi, /ZI) festlegen, sollten Sie die Option /Oy- in Anschluss an alle 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 Option /Oy hinzugefügt oder entfernt. Wenn Sie die Option /Oy- hinzufügen möchten, klicken Sie auf Befehlszeile, und ändern Sie die Option Zusätzliche Optionen.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

Referenz

/O-Optionen (Code optimieren)

Compileroptionen

Festlegen von Compileroptionen