Quelle est la différence entre le drapeau (Ditto avec / ot ot> ("favoriser le code rapide") et le drapeau
/ o2 code> ("optimiser la vitesse")? P>
/ OS code> et
/ o1 code>.) p>
3 Réponses :
Aucune différence. / ot code> fait partie des optimisations
/ o2 code>. p>
/ O1 et / O2 Bundle ensemble un certain nombre d'options visant à atteindre un objectif plus important. Donc / O1 fait un certain nombre de choix de génération de code qui favorisent la taille; / O2 fait la même chose et favorise la vitesse. P>
/ o1 inclut / OS ainsi que d'autres options. / O2 Comprend / OT ainsi que d'autres options. Certaines optimisations sont activées par / O1 et / O2. Et, selon le comportement de votre programme de votre programme, / o1 (taille) peut entraîner une vitesse plus rapide que / O2 si le code de pagination vient à dominer votre coût d'exécution des instructions. P>
Un bon résumé abrégé de l'impact de / O1 et / O2 dans VC ++ 2010 est ici P>
http://msdn.microsoft.com/en-us/library/ 8f8H5CXT.aspx P>
et comprend des liens pour d'autres versions de VC. P>
martyn p>
Merci pour la réponse, mais une question: alors que se passe-t-il si je mets / o1 code> avec
/ ot code>? Est-il favorable à la taille ou à la vitesse?
Si vous mettez / O1, puis / OT dans cet ordre (et aucune option ou pragmas ultérieurs), vous obtenez toutes les autres options de O1 et / OS de / O1 est supprimée et / / ™ le remplace. Ce que vous obtenez alors est un hybride de taille et d'optimisation de la vitesse.
Ensuite, vous voudrez connaître la réponse à ceci: Quelle est la différence entre les options de compilateur / box et / o2? ;-)