Share via


/O1, /O2 (Réduire la taille, augmenter la vitesse)

Mise à jour : novembre 2007

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 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 sur l'optimisation de la valeur de retour nommée dans Visual C++, consultez https://go.microsoft.com/fwlink?linkid.

// 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

  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 programme

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)