2010-09-30 3 views
2

Existe-t-il un moyen de dire au compilateur de s'informer là où il le voit utile? Je pensais que c'était le cas par défaut, mais ajouter quelques fonctions en ligne à mes fonctions de boucle de jeu améliorait les performances de 30%.Inline automatisé pour VC++?

Merci

+1

Quelle version de VC? – sbi

+0

Oh, et vous mesurez les versions 'Release', n'est-ce pas? – sbi

Répondre

3

The /Ob option

Notez que le compilateur ne peut pas les fonctions d'auto-alignées entre les unités de compilation sauf si vous utilisez Programme entier Optimisation (/ GL).

1

Le compilateur fonctionne généralement inline si elle semble améliorer les performances, cependant, il pourrait éviter si vous n'activez pas des optimisations (par exemple le mode de débogage). Si vous activez les optimisations, elles devraient probablement être intégrées pour vous.

2

Visual C++ fera automatiquement inline expansion si vous le lui demandez, via le commutateur /Ob2 (mais uniquement si les optimisations sont activées, par exemple, /O2).

Il se peut que cela ait été désactivé ou que le compilateur ne soit pas aussi agressif que vous le souhaitez. Dans ce dernier cas, utilisez le mot-clé inline (ce que vous avez fait: D).