/O1, /O2 (Größe minimieren, Geschwindigkeit maximieren)
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 |
Kommentar |
---|---|---|
/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=55900.
// 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
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Klicken Sie auf den Ordner C/C++.
Klicken Sie auf die Eigenschaftenseite Optimierung.
Ändern Sie die Eigenschaft Optimierung.
So legen Sie diese Compileroption programmgesteuert fest
- Siehe Optimization.