Différences entre gcc 2.95 et 3.2 ? - C - Programmation
Marsh Posté le 26-08-2003 à 23:03:04
de tête a l'arrache je dirai 0.25
Marsh Posté le 26-08-2003 à 23:17:02
ReplyMarsh Posté le 26-08-2003 à 23:17:41
> freds45 : sincerement je ne peux pas t'aider
Marsh Posté le 26-08-2003 à 23:22:12
simogeo a écrit : > freds45 : sincerement je ne peux pas t'aider |
je ferai la démo avec un cygwin, tant pis
Marsh Posté le 26-08-2003 à 23:27:01
freds45 a écrit : |
ca parait bizarre quand mêm non ... t'as pas de doute sur ton code ?
Marsh Posté le 27-08-2003 à 09:19:44
Taz a écrit : t'as quoi comme message d'erreur? |
par exemple à moment donné, j'ai déclaré un pointeur sur une structure au milieu d'une fonction (c'est pas terrible je sais ...). Avec le 3.2 ça passe bien, alors qu'avec le 2.95, il me fait un parse error ...
Enfin de manière générale, le 3.2 est moins regardant sur certaines choses que le 2.95?
Marsh Posté le 27-08-2003 à 09:37:18
ben parce que le 2,95 ne reconnait pas le C99, donc pas de déclaration ailleurs qu'en début de bloc par exemple
Marsh Posté le 27-08-2003 à 09:44:56
Taz a écrit : ben parce que le 2,95 ne reconnait pas le C99, donc pas de déclaration ailleurs qu'en début de bloc par exemple |
ok, c'est déjà une piste
mais je vais rester avec la même version à la soutenance, pas envie de me faire avoir !
Marsh Posté le 27-08-2003 à 09:49:11
ben compile avec gcc quelque soit la version en "-Wall -ansi -pedantic", comme ça tu reste en C ANSI (ou bien -std=c89) et cette norme est supportée pas gcc depuis très longtemps. je préfère C99, et sans doute toi aussi (déclarée ses varaibles au plus proche de leur initialisation améliore la lisibilité, etc), mais moi aussi j'ai eu ce genre de contrainte.
Marsh Posté le 27-08-2003 à 10:10:39
Taz a écrit : ben compile avec gcc quelque soit la version en "-Wall -ansi -pedantic", comme ça tu reste en C ANSI (ou bien -std=c89) et cette norme est supportée pas gcc depuis très longtemps. je préfère C99, et sans doute toi aussi (déclarée ses varaibles au plus proche de leur initialisation améliore la lisibilité, etc), mais moi aussi j'ai eu ce genre de contrainte. |
je fais tjs avec -Wall, mais bon pour ce proj là, je vais pas revoir TOUT le code à 3j de la fin, ca ira bien avec cygwin la présentation
Mais c'est clair que pour les prochaines fois, j'y penserai
Marsh Posté le 27-08-2003 à 10:18:22
-Wall affiche des warnings, mais ne force pas le compilateur à suivre une norme: gcc2.9 prends par défaut c89, et gcc3.2 c99
donc -std=<norme> permet quelque soit la version du compilo, et pour peu qu'il la supporte, de controler un code
si ton code est pas trop mal foutu, et vu que t'as pas l'air tres au courant, ça devrait de toute facon pas etre difficile. sinon sous windows, tu as www.mingw.org qui propose un gcc3.2
Marsh Posté le 27-08-2003 à 11:07:11
Taz a écrit : -Wall affiche des warnings, mais ne force pas le compilateur à suivre une norme: gcc2.9 prends par défaut c89, et gcc3.2 c99 |
Je testerai ce soir avec -std=C99 avec mon gcc2.95 voir ce que ca donne.
Je viens de tester avec mon gcc3.2/cygwin, il me donne un nombre de parse errors ENORME ! (A 99% dus à des commentaires en // )
C'est normal qu'il ne reconnaisse pas les commentaires qui commencent avec // en C89 ?
edit: pour mingw.org, je peux pas tester, pas de réseau sur ma machine de codage
Marsh Posté le 27-08-2003 à 11:18:33
Citation : et pour peu qu'il la supporte |
gcc2,9 ne reconnait pas c99
sinon, c'est normal pour les commentaires. soit tu les transformes (y a plein d'outils pour, soit, tu cherches dans la doc de gcc, y un réglage pour que ça passe
Marsh Posté le 27-08-2003 à 11:21:46
Taz a écrit :
gcc2,9 ne reconnait pas c99 |
ah ok, je savais pas. Pas regardé si le C99 était supporté
edit: je viens de tester la compil avec -pedantic, à part qu'il me met des warning pour tous les commentaires en //, ca va
Marsh Posté le 27-08-2003 à 11:32:24
utilise tout "-ansi -pedantic -Wall" et après tu cherches dans la doc de gcc, y a un truc pour autoriser les // en ansi
sinon, tu les remplaces (y a des tas de logiciels pour faire ça, sinon, une simple reggexx devrait suffire
Marsh Posté le 26-08-2003 à 23:00:37
Voilà, petit souci
J'ai développé un truc à rendre dans 3 ou 4 jours à l'école sous windows, avec cygwin et gcc 3.2, ca marche nickel
Je veux compiler le proj avec gcc 2.95 qui est installé avec ma slackware 8.1 et là, c'est le drame !
J'ai quand même réussi à faire compiler le code, mais ça segfault, bref ²
C'est connu ces différences entre les 2 versions? C'est "normal"?
Bref ya du boulot !
Ca fait un peu mylife je sais, mais j'en ai marre!!
---------------
Filmstory : gardez trace des films que vous avez vu ! :D