2010-04-25 3 views
1

Le projet sur lequel je travaille est compilé avec GCC 3.4.2. Je envisage de passer à un compilateur plus récent. Cependant, le projet est à un stade où nous ne faisons pas de grands changements si les risques ne sont pas bien connus.De quoi ai-je besoin lorsque je change de compilateur de GCC 3.4.2 en GCC 4.4.2 ou en ICC?

À quels types de problèmes puis-je m'attendre lorsque je change de compilateur?

Quels sont les avantages de GCC 4.x sur GCC 3.4.2?

Quels sont les avantages offerts par ICC?

Répondre

2

L'avantage est principalement la performance et la taille du code. Les compilateurs ultérieurs et différents ont souvent des erreurs et des avertissements meilleurs ou plus clairs. Heureusement, alors que vous pouvez vous attendre à avoir du mal à compiler le projet, il y aura donc un peu de travail pour l'exécuter, une fois que c'est le cas, il est extrêmement probable qu'il se comporte de manière identique. Si votre code fait beaucoup de virgule flottante, vous devez lire et comprendre toutes les options à virgule flottante, car c'est le point le plus probable où le comportement peut changer.

+0

Quel genre de problème? Voulez-vous dire des choses qui sont maintenant interdites, mais ne l'étaient pas auparavant? –

+0

Surtout exactement cela, oui. Fondamentalement, les avertissements sont promus à des erreurs de sorte que vous devez les corriger. Le nettoyeur du projet était le moins que vous obtenez. Si vous avez eu de bons tests unitaires (peu probables pour un projet C), une fois compilé, ils devraient montrer que tout fonctionne. –