[linux-l] Re: Arrays in C
Rocco Rutte
pdmef at cs.tu-berlin.de
Di Nov 15 15:17:05 CET 2005
Hi,
* Steffen Dettmer [05-11-14 23:41:06 +0100] wrote:
>* Rocco Rutte wrote on Thu, Nov 10, 2005 at 11:01 +0000:
>> #define DEBUG(X) do { \
>> fprintf (stderr, "%s: ", __FUNCTION__); \
>> /*fprintf X; */ \
> fprintf (stderr, X); \
>> fprintf (stderr, "\n");
>> } while (0);
>Warum do {} while? {} block ist hier doch nichtmal notwendig, oder?
Das passt syntaktisch überall rein.
>DEBUG("%d", 15) gibt einen Fehler - so ein Makro kann dann aber doch gar
>keine Format-Strings mehr?!
DEBUG(("%d", 15)) oder DEBUG(("foo: %s\n", string)). Alle Argumente für
printf() müssen geklammert werden. Obiges Macro is natürlich quatsch,
zumindest mit fprintf(). Mit printf() ginge es ohne zusätzliche
Funktion...
bye, Rocco
--
:wq!
Mehr Informationen über die Mailingliste linux-l