/O1, /O2 (Réduire la taille, augmenter la vitesse)
Sélectionne un jeu prédéfini d'options qui affectent la taille et la vitesse des fichiers.
/O1
/O2
Notes
Le tableau suivant décrit /O1 et /O2.
Option |
Équivalent à |
Commentaire |
---|---|---|
/O1 (Réduire la taille) |
/Og /Os /Oy /Ob2 /Gs /GF /Gy |
Crée le code le plus compact possible dans la majorité des cas. |
/O2 (Augmenter la vitesse) |
/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy |
Crée le code le plus rapide dans la plupart des cas. (paramètre par défaut pour les versions release) |
/O1 et /O2 activent également l'optimisation des valeurs de retour nommées, qui élimine le constructeur de copie et le destructeur d'une valeur de retour basée sur la pile. Prenons l'exemple suivant. La fonction Test ne crée pas le constructeur de copie ou le destructeur. Ajoutez des instructions de sortie au constructeur, au destructeur et au constructeur de copie afin de voir l'effet de l'optimisation des valeurs de retour nommées lors de l'exécution du programme. Pour plus d'informations, consultez Optimisation nommée de valeur de retour dans 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();
}
Section spécifique à x86
Ces options impliquent l'utilisation de l'option /Oy (Omission du pointeur frame).
FIN Spécifique x86
Pour définir cette option du compilateur dans l'environnement de développement Visual Studio
Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d'informations, consultez Comment : ouvrir les pages de propriétés d'un projet.
Cliquez sur le dossier C/C++.
Cliquez sur la page de propriétés Optimisation.
Modifiez la propriété Optimisation.
Pour définir cette option du compilateur par programmation
- Consultez Optimization.
Voir aussi
Référence
/O (Optimiser le code), options