COMPILATEURS C++ : le grand debat

COMPILATEURS C++ : le grand debat - Programmation

Marsh Posté le 09-06-2001 à 15:49:46    

En tenant compte de la derniere revision du C++ de 1998, la question posee est : quel est le compilateur qui fait le mieux son boulot, qui permet d'utiliser tous les aspects du C++ en restant proche du standard ?
 
Au banc des accuses :
* GCC : un assez bon compilateur, mais malheureusement encore assez bugge, et qui oblige souvent a retoucher le code pour que le compilateur l'accepte. Assez mauvaise prise en charge des templates, et des derivations de classes.
* Visual C++ : assez proche du standard C++, mais que des emmerdes avec la STL, pour cause de MFC. Peu de choses a dire, je l'ai peu utilise.
* CodeWarrior : s'eloigne legerement du standard C++, assez peu tolerant avec les templates et les types du style vector<vector<list<...>>>.
* Je ne connais pas Borland C++.
 
Quel compilateur utilisez vous (toutes plate-formes confondues), et en etes-vous satisfaits ?

Reply

Marsh Posté le 09-06-2001 à 15:49:46   

Reply

Marsh Posté le 09-06-2001 à 19:12:33    

Visual C++ fout effectivement la m**** car il propose sa propre version de la STL. Perso moi je préfère gcc .

Reply

Marsh Posté le 09-06-2001 à 20:32:14    

Visual C++.NET
j'ai jamais eu de prob meme avec VC++ 6

Reply

Marsh Posté le 09-06-2001 à 20:56:05    

TheJackal a écrit a écrit :

Visual C++.NET
j'ai jamais eu de prob meme avec VC++ 6




voir par exemple un topic de cette semaine sur l'utilisation de friend dans les templates avec VC++ 6.0

Reply

Marsh Posté le 09-06-2001 à 21:31:18    

pour les "hello world" jutilise dev, mais sinon vc++ pour le reste...dev a plein de librairies qui deconnent..(ex conio)


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 09-06-2001 à 21:36:53    

Verdoux a écrit a écrit :

 
voir par exemple un topic de cette semaine sur l'utilisation de friend dans les templates avec VC++ 6.0




 
je t'accorde que les friend (et pas seulement dans les templates) sont un peu cagneux :( meme dans VC++.Net
 
mais l'editeur est bien et puis il suffit de contourner le probleme
 
tu propose kel editeur/compilo ?
 
et puis gcc c pas pour linux ? (je connais pas du tout c pour ca...)

Reply

Marsh Posté le 09-06-2001 à 22:47:07    

TheJackal a écrit a écrit :

 
 
je t'accorde que les friend (et pas seulement dans les templates) sont un peu cagneux :( meme dans VC++.Net
 
mais l'editeur est bien et puis il suffit de contourner le probleme
 
tu propose kel editeur/compilo ?
 
et puis gcc c pas pour linux ? (je connais pas du tout c pour ca...)




 
Ca c'est pas un argument: mais l'editeur est bien... L'editeur n'a rien a voir avec le compilateur, faudrait pas confondre. On parlait des qualites d'implem du standard C++.
Le compilo microsoft est un asssez bon compilo. Le probleme avec l'implem de la STL pour ce compilo, c'est que c'etait fourni a MS par Dinkumware, qui s'est retrouve en proces avec Plum Hall sur les droits sur la librairie. Donc, la lib a pas ete upgradee pendant les actions judiciaires, et c'est pour ca que l'implem est pas au niveau.
Comme Dinkumware a fini par gagner recemment (a moins qu'il y ait appel), on peut esperer que MS reconduira ses contrats pour upgrader le support STL.  
Il y a effectivement d'autres bugs, mais globalement, je trouve ce compilo relativement bon.
 
Si qqu'un a des infos sur la qualite actuelle du compilo C++ metaware, je suis preneur.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 09-06-2001 à 23:42:28    

sur le post des friends et templates, l'internal compiler error se produisait sur gcc, et pas sur visual.
Visual a DEUX versions de la STL avec et sans .h et elles son incompatibles entre elles (dixit microsoft).
La version sans .h est plus fidèle au standard que la STL SGI utilisée par gcc, qui n'implémente pas les stringstreams (ou n'implémentait pas, je ne sais pas si ça a changé).
 
En revanche, visual a des boucles for non conformes au standard:
for (A;B;C)
 D
 
est équivalent à
 
A
while(B)
{
 D
 C
}
 
alors que selon le std, ça devait être:
 
{
A
while(B)
{
 D
 C
}
}
 
Je leur ai envoyé un mail (comments pour msdn)
et je me suis fait envoyé chier.(gentiment)

Reply

Marsh Posté le 10-06-2001 à 00:27:15    

Alors la je suis tout a fait d'accord.
C'est tres chiant ce pb des boucles. Ca m'a pose des pbs.
Il me semble que MS a annonce que ca serait corrige dans la prochaine version majeure (7?) de VC++  
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 10-06-2001 à 00:44:38    

A propos du compilateur cl (celui employé par VC++), une fois j'avais eu un problème incroyable : en activant l'option maximiser la vitesse, l'animal avait supprimé purement et simplement une boucle for (pourtant indispensable) ...:lol:

Reply

Marsh Posté le 10-06-2001 à 00:44:38   

Reply

Marsh Posté le 10-06-2001 à 01:50:03    

Je sais pas trop ce qu'il en est du respect du standard, mais j'utilise GCC et VisualC++ et j'aime bien les deux. Le truc c'est que j'ai jamais essaye la STL sous Visual. Tout ce que je sais c'est que pour l'instant j'ai jamais eu de probleme de compilation C++/STL avec GCC. Meme si il semble que cette version de la STL soit un peu "adaptee" (de part ses extensions et ses choix d'implementation), elle semble assez efficace tout en restant dans le standard.
Par contre j'ai utilise le Borland y'a quelques temps et je n'aime pas du tout. Bien sur, ca vient pas forcement du compilo en lui-meme, mais j'ai trouve le logiciel assez bugge et beaucoup moins pratique que Visual pour developper sous Windows.

Reply

Marsh Posté le 10-06-2001 à 07:40:34    

Si tu veux une implem valable de la lib STL sous VC++, tu achetes ($99) celle de dinkumware.
 
Au fait, qui utilise le compilo de Intel? et si oui, vos impressions sur ce produit.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 10-06-2001 à 09:47:13    

gilou a écrit a écrit :

 
Ca c'est pas un argument: mais l'editeur est bien... L'editeur n'a rien a voir avec le compilateur, faudrait pas confondre. On parlait des qualites d'implem du standard C++.
Le compilo microsoft est un asssez bon compilo. Le probleme avec l'implem de la STL pour ce compilo, c'est que c'etait fourni a MS par Dinkumware, qui s'est retrouve en proces avec Plum Hall sur les droits sur la librairie. Donc, la lib a pas ete upgradee pendant les actions judiciaires, et c'est pour ca que l'implem est pas au niveau.
Comme Dinkumware a fini par gagner recemment (a moins qu'il y ait appel), on peut esperer que MS reconduira ses contrats pour upgrader le support STL.  
Il y a effectivement d'autres bugs, mais globalement, je trouve ce compilo relativement bon.
 
Si qqu'un a des infos sur la qualite actuelle du compilo C++ metaware, je suis preneur.
A+,




 
pour le coup de l'editeur si tu veux... mais comme c livrer ensemble...
 
et jsuis d'accord, ce compilo est bien :)

Reply

Marsh Posté le 10-06-2001 à 11:17:54    

pour ma part code warrior je connais pas.
mais borglan c vraiment a chier il ma deja fait des couille a ne pas s'en remettre, sourtout pour du prog win32: genre tu compile tous heureux aucune faute, ca meme l'aire de tourner et tous puis d'un coup crash windows tiens c louche, bien plus tard je compile le meme code sous VC++ et crack tiens mais ya des erruer de compilation je corrige et hop plus de prob , magic :)
gcc c l'experience que j'en ai eu c pire :(
je code pas sous linux mais g eu a le faire pour un projet de groupe pour l'unif et => gcc
l'erreur qu'on a eu etait assez con c t un oublie de return en fin de fonction qui devais renvoyer un int (a savoir le semaphore descriptor), et gcc lui ca ne l'embeter pas plus que ca => perte de temsp avant de te dire aller je me relis le code au complet et de voir que c de la que ca viens, pour un petit bout de code c deja chiant mais imaginons l'ampleur des degats sur un vrai projet :(
par contre VC++ me comble de bonheure, jamais d'emmerde, interface absolument genial, super agreable, enfin le pied koi :)

Reply

Marsh Posté le 10-06-2001 à 13:21:05    

gilou a écrit a écrit :

Si tu veux une implem valable de la lib STL sous VC++, tu achetes ($99) celle de dinkumware.
 
Au fait, qui utilise le compilo de Intel? et si oui, vos impressions sur ce produit.
A+,




 
Au travail, j'ai utilisé pendant des mois Builder C++ 4.0 et c'est un environnement de merde, des conneries à se tirer une balle dans la tête, on était dix et les dix sont d'accord.
Pour Visual, son environnement est vraiment bien, mais si tu compiles certains prgs en max speed, ça plante souvent. Mais celui d'intel le C++ 5.0 est super bien, il s'interface très bien avec l'environnement et ses compils sont parfaites, en max speed ne plante jamais et il donne en moyenne des prgs 20 à 30 % plus rapides surtout si c'est du flottant.
Pour les templates, ça marche correctement, y'a interet pour ATL!

Reply

Marsh Posté le 10-06-2001 à 14:33:47    

coute combien celui d'Intel car je suis sur qu'il est pas donne

Reply

Marsh Posté le 10-06-2001 à 14:38:14    

Celui d'intel peut se dropper dans l'environnement visual studio (en remplacement du compilo MS).
Une version béta pour linux du compilo intel est dispo en téléchargement.

Reply

Marsh Posté le 11-06-2001 à 08:26:56    

Verdoux a écrit a écrit :

Celui d'intel peut se dropper dans l'environnement visual studio (en remplacement du compilo MS).
Une version béta pour linux du compilo intel est dispo en téléchargement.




 
pour l'environnement je savais mais merci ;)  
me dit pas que la version win est gratuite ?
enfin, il devrai pour promouvoir leur p4 :D

Reply

Marsh Posté le 11-06-2001 à 10:47:11    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed