/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 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 Anweisungen Ausgabe, Destruktor und den Kopierkonstruktor hinzu, um den Effekt der benannten Rückgabewert-Optimierung festzustellen, ob Sie das Programm ausführen.Weitere Informationen finden Sie unter Named Return Value Optimization in Visual C++ 2005unter.
// 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
- Weitere Informationen finden Sie unter Optimization.