/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 |
Entspricht |
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 den schnellsten Code im Großteil der Fälle. (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 Ausgabeanweisungen dem Konstruktor, Destruktor und dem im Kopierkonstruktor hinzu, um den Effekt der benannten Rückgabewert-Optimierung anzuzeigen, wenn Sie das Programm aus. Weitere Informationen finden Sie unter Benannte Rückgabewert-Optimierung in Visual C++ 2005.
// 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.