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

Re: [linux_var] Strano codice C



Io so che è un metodo per raggruppare più istruzioni dentro una #define, senza avere poi un errore di compilazione durante l'uso.

vedi qui infatti:

https://stackoverflow.com/questions/257418/do-while-0-what-is-it-good-for

2018-05-22 15:32 GMT+02:00 Giovanni Orlandi <orlangio@gmail.com>:
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




--
_ Salvatore Racano _
Mobile : +39 3333 54 89 33
Email : salvatoreracano@gmail.it
_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking