Article View: fr.comp.lang.c
Article #15079Re: rot13 [Was : Re: conjugaison et autres ...]
From: Charlie Gordon
Date: Mon, 10 Oct 2005 07:31
Date: Mon, 10 Oct 2005 07:31
74 lines
4108 bytes
4108 bytes
"Harpo" <trashcan@hotmail.com> wrote in message news:4347e992$0$17203$8fcfb975@news.wanadoo.fr... > Charlie Gordon wrote: > > > > > En revanche tu justifiais l'usage de ces parenth�ses pour ouvrir la > > possibilit� de d�finir return comme une macro � param�tre qui trace > > les valeurs de retour > > des fonctions. > > Pas exactement. Au temps pour moi, j'avais lu trop rapidement, tu proposes de remplacer les return par des xreturn > > Il me semble tr�s peu recommandable de red�finir les > > mots cl�s du langage comme des macros, et je citais quelques exemples > > de probl�mes > > potentiels. > > Je ne red�finis jamais un mot-cl� du langage, ou alors c'est par > inadvertance lorsque je ne le connais pas, 'return' j'en ai entendu > parler. OK, voir ci-dessus, nous sommes d'accord. > > Il s'av�re que la macro en question d�finit non pas > > return(val), mais xreturn(val) ce qui est tout � fait loisible et sans > > rapport avec le d�bat, encore que cette macro n�cessite des extensions > > GNU pour �viter la multi-evaluation > > Non, lorsqu'il n'y a pas d'extension GNU, il n'y a pas de > multi-�valuation, lorsqu'il y extension non plus. Elle est donc > conforme � ce que l'on peut faire en C et � ce que l'on attend d'un > truc qui doit faire return. Ben non, la macro ne fait rien si l'extension GNU n'est pas disponible. La macro est certes conforme, mais inutile avec un compilo autre que gcc (ou compatible ;-) > > et que le probl�me de la > > conversion en chaine de caract�res en fonction du type de retour n'est > > de toute fa�on pas r�solu... > > C'est quoi ce probl�me ? Je cite la macro: > #ifdef DEBUG > #ifdef _GNUC_ > #define xreturn( rc ) \ > ( typeof( rc ) RC = rc; \ > fprintf( stderr, " function %s return %lx\n", _function_, (long)RC );\ > return RC ; \ > ) > #else > ( return rc ) > #endif _GNUC_ > #else > ( return rc ) > #endif DEBUG Le cast de RC en long est une fa�on fort peu parlante de tracer la valeur de retour de fonctions qui renvoient autre chose que des entiers. D'ailleurs cela ne compilera pas si le type de retour est une structure... > Je compile toujours avec -W -Wall -std=c99 > > Un petit coup de -pedantic de temps en temps... avec un peu de picon. J'ajoute -Werror ;-) -- Chqrlie.
Technical Details
Message-ID:
<434a1885$0$4333$626a54ce@news.free.fr>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!infeed-4.proxad.net!nnrp10-1.free.fr!not-for-mailReferences:
<1126342327.583568.21420@g43g2000cwa.googlegroups.com> <4329e5d4$0$7846$8fcfb975@news.wanadoo.fr> <dge4b6$fqa$1@reader1.imaginet.fr> <432ab809$0$1734$8fcfb975@news.wanadoo.fr> <mn.84b07d59016a857b.31483@laposte.net> <433f16ac$0$27406$8fcfb975@news.wanadoo.fr> <mn.10907d5a55119e84.15512@YOURBRAnoos.fr> <433f9cb1$0$7821$8fcfb975@news.wanadoo.fr> <mn.128c7d5aa5238de0.15512@YOURBRAnoos.fr> <43403203$0$5388$8fcfb975@news.wanadoo.fr> <43403d27$0$306$7a628cd7@news.club-internet.fr> <4340cabe$0$27448$8fcfb975@news.wanadoo.fr> <43438f4d$0$21032$636a55ce@news.free.fr> <434433fa$0$5374$8fcfb975@news.wanadoo.fr> <43468180$0$20850$636a55ce@news.free.fr> <43475686$0$17226$8fcfb975@news.wanadoo.fr> <4347976d$0$16540$626a14ce@news.free.fr> <4347b023$0$1709$8fcfb975@news.wanadoo.fr> <4347bcd7$0$3545$626a14ce@news.free.fr> <4347e992$0$17203$8fcfb975@news.wanadoo.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,b21b26167a936e28 X-Google-Attributes: gidf9822,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!infeed-4.proxad.net!nnrp10-1.free.fr!not-for-mail From: "Charlie Gordon" <news@chqrlie.org> Newsgroups: fr.comp.lang.c References: <1126342327.583568.21420@g43g2000cwa.googlegroups.com> <4329e5d4$0$7846$8fcfb975@news.wanadoo.fr> <dge4b6$fqa$1@reader1.imaginet.fr> <432ab809$0$1734$8fcfb975@news.wanadoo.fr> <mn.84b07d59016a857b.31483@laposte.net> <433f16ac$0$27406$8fcfb975@news.wanadoo.fr> <mn.10907d5a55119e84.15512@YOURBRAnoos.fr> <433f9cb1$0$7821$8fcfb975@news.wanadoo.fr> <mn.128c7d5aa5238de0.15512@YOURBRAnoos.fr> <43403203$0$5388$8fcfb975@news.wanadoo.fr> <43403d27$0$306$7a628cd7@news.club-internet.fr> <4340cabe$0$27448$8fcfb975@news.wanadoo.fr> <43438f4d$0$21032$636a55ce@news.free.fr> <434433fa$0$5374$8fcfb975@news.wanadoo.fr> <43468180$0$20850$636a55ce@news.free.fr> <43475686$0$17226$8fcfb975@news.wanadoo.fr> <4347976d$0$16540$626a14ce@news.free.fr> <4347b023$0$1709$8fcfb975@news.wanadoo.fr> <4347bcd7$0$3545$626a14ce@news.free.fr> <4347e992$0$17203$8fcfb975@news.wanadoo.fr> Subject: Re: rot13 [Was : Re: conjugaison et autres ...] Date: Mon, 10 Oct 2005 09:31:59 +0200 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1506 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506 Lines: 76 Message-ID: <434a1885$0$4333$626a54ce@news.free.fr> Organization: Guest of ProXad - France NNTP-Posting-Date: 10 Oct 2005 09:30:13 MEST NNTP-Posting-Host: 81.57.219.236 X-Trace: 1128929413 nnrp10-1.free.fr 4333 81.57.219.236:51604 X-Complaints-To: abuse@proxad.net