/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 possible dans la majorité 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 les instructions de sortie au constructeur, au destructeur et au constructeur de copie pour visualiser l'effet de l'optimisation nommée de valeur de retour lorsque vous exécutez le programme.Pour plus d'informations, consultez Named Return Value Optimization 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();
}
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