[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux_var] Strano codice C



Ciao,

in un file C di esempio ho trovato questo strano codice che mostro sotto:

#define handle_error(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)

A quanto capisco io il ciclo do { } while ( 0 ) viene eseguito sempre una sola volta,
ma a che cosa servirebbe ?
Forse ad evitare delle ottimizzazioni in sede di compilazione ?

Qualcuno lo sa ?
Giovanni

--
-----------------------------------------------------------------------------------------
Luca 18,5 : "Poiché questa vedova è così molesta le farò giustizia, perché non venga continuamente a importunarmi".
Neemia 8,10 : "...questo giorno è consacrato al nostro Signore; non siate tristi; perché la gioia del Signore è la vostra forza".
GSM 345.6050488 / 327.0547392 / 392.0698126 - Fax 06.62204735
_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking