Share via


/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

  1. 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.

  2. Cliquez sur le dossier C/C++.

  3. Cliquez sur la page de propriétés Optimisation.

  4. Modifiez la propriété Optimisation.

Pour définir cette option du compilateur par programmation

Voir aussi

Référence

/O (Optimiser le code), options

Options du compilateur

Définition des options du compilateur

/EH (Modèle de gestion des exceptions)