Share via


/O1, /O2 (Größe minimieren, Geschwindigkeit maximieren)

Aktualisiert: November 2007

Wählt einen vordefinierten Satz von Optionen aus, der die Größe und Geschwindigkeit von Dateien beeinflusst.

/O1
/O2

Hinweise

In der folgenden Tabelle werden /O1 und /O2 erläutert.

Option

Äquivalent mit

Bedeutung

/O1 (Größe minimieren)

/Og/Os/Oy/Ob2/Gs/GF/Gy

Erstellt in den meisten Fällen den kleinstmöglichen Code.

/O2 (Geschwindigkeit maximieren)

/Og/Oi/Ot/Oy/Ob2/Gs/GF/Gy

Erstellt in den meisten Fällen den schnellstmöglichen Code. (Standardeinstellung für Releasebuilds)

Mit /O1 und /O2 wird außerdem die Optimierung des benannten Rückgabewerts aktiviert. Kopierkonstruktor und -destruktor eines stapelbasierten Rückgabewerts werden dadurch eliminiert. Betrachten Sie das folgende Beispiel. Von der Test-Funktion wird kein Kopierkonstruktor oder -destruktor generiert. Fügen Sie dem Konstruktor, Destruktor und Kopierkonstruktor Ausgabeanweisungen hinzu, um den Effekt der Optimierung des benannten Rückgabewerts beim Ausführen des Programms zu überprüfen. Weitere Informationen zur Optimierung des benannten Rückgabewerts in Visual C++ finden Sie unter https://go.microsoft.com/fwlink?linkid.

// O1_O2_NRVO.cpp
// compile with: /O1
struct A {
   A() {}
   ~A() {}
   A(const A& aa) {}
};

A Test() {
   A a;
   return a;
}
int main() {
   A aa;
   aa = Test();
}

x86-spezifisch

Diese Optionen implizieren die Verwendung der Option Framezeiger unterdrücken (/Oy).

END x86-spezifisch

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 Optimierung.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

Referenz

/O-Optionen (Code optimieren)

Compileroptionen

Festlegen von Compileroptionen

/EH (Ausnahmebehandlungsmodell)