euh... C'est mon GCC 3.4.2 qui est foireux, ou bien c'est normal que même en -std=c99, l'option -ansi interdise les //commentaires unilignes?
euh... C'est mon GCC 3.4.2 qui est foireux, ou bien c'est normal que même en -std=c99, l'option -ansi interdise les //commentaires unilignes?
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Bin je doute que les commentaires du C++ on été mis dans la norme ANSI du C voir meme sur toute autres normes ! J'ai jamais testé mais bon, moi je n'utilise que ce qui est en rapport avec le C et uniquement avec ce langage, suis assez à ch'val sur certains points dont celui ci![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Il me semble qu'il faut mettre -std=c99 apres -ansi
Et la ca fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 gcc -ansi -pedantic -std=c99 test.c -o test
Moi avec GCC 4.0.2 qui d'office est sur C99, j'ai tout de même testé par simple curiosité avec l'option -ansi pis il gueule, il me demande ce que ca fout là![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
CSoldier: Ben moi, s'il y a un point sur lequel je suis à cheval, c'est justement que les commentaires unilignes sont trop utiles (et surtout, ils peuvent être inclus dans un commentaire normal, très utile pour "comment out" tout un bloc!
Je pensais que depuis toutes ces années, ils avaient fini par inclure ça aux standards...
ben, pas moyen, j'ai toujours "syntax error before '/' token"...
J'ai essayé en surchargeant la ligne de commande comme ça, toujours une erreur...
$(CC) -ansi -pedantic -std=c99 -c TestSelect.c -o TestSelect.o
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Bon je viens de booter sur mon Linux pour essayer tout ca et ben ce que j'ai dis ne marche pas non plus![]()
![]()
Pourtant j'avais essayé sous Cygwin et cela fonctionnait![]()
![]()
![]()
Donc toujours pas de solution, peut-etre que l'on ne peut pas.
Le fait de mettre les commentaire en //, peut etre que le code n'est plus compatible ANSI
c'est con qu'ils ne l'aient pas mis au moins dans le C99, car ça existe depuis combien d'années, les commentaires sous cette forme?
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Pourtant j'etais persuadé qu'ils etaient pris en compte en c99
Je crois qu'il faut mettre gcc -std=c99
tout court, sans le -ansi
pour commenter un bloc qui contient des /* */ tu peux faire :
#if 0
/* ... */
#endif
Comprend pas l'histoire pour commenter les blocs qui contiennent des /* */Envoyé par ciol2.6.12
Et en meme temps en mettant juste gcc std=c99 sans -ansi, meme si tu met pas le std=c99 t'a pas d'erreur.
C'est le -ansi qui te provoque une erreur à la compilation
L'option -ansi est équivallente à -std=c89. Elle est supérieure à std=c99, puisque plus restrictive. Il est donc normal que les commentaires // soient refusés.Envoyé par Médinoc
Tout ça, c'est de la sauce gcc qui n'a rien à voir avec le langage C...
Si, les commentaire // sont acceptés en C99.Envoyé par CSoldier
Personellement, je reste compatible C90 et je ne les utilise pas.
Le comment out se fait parEnvoyé par Médinoc
Très simple, évident et facile à décommenter (remplacer 0 par 1, recompiler et c'est tout).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #if 0 /* to be commented out... */ #endif
Partager