Coding technique question
I believe I've seen this sort of thing done in the kernel:
do {
....
code
....
} while (0);What I was wondering is how this is any different from:
{
....
code
....
}Quoted 9 lines · Timothy Miller
I believe I've seen this sort of thing done in the kernel:
do { .... code .... } while (0);
Quoted 7 lines
What I was wondering is how this is any different from:
{ .... code .... }
It's not... unless you're creating a function-like macro.
Jeff
Quoted 9 lines · Timothy Miller
I believe I've seen this sort of thing done in the kernel:
do { .... code .... } while (0);
Quoted 7 lines
What I was wondering is how this is any different from:
{ .... code .... }
See the Kernel Newbies FAQ at http://kernelnewbies.org/faq/
Q: "Why do a lot of #defines in the kernel use do { ... } while(0)? "
Best regards,
Aschwin Marsman
--
aYniK Software Solutions all You need is Knowledge Bedrijvenpark Twente 305 NL-7602 KL Almelo - the Netherlands P.O. box 134 NL-7600 AC Almelo - the Netherlands [email protected] http://www.aYniK.com
Thank you for pointing this out to me. It's very interesting reading.
Quoted 36 lines · Aschwin Marsman
Quoted 9 lines · Timothy Miller
I believe I've seen this sort of thing done in the kernel:
do { .... code .... } while (0);Quoted 7 lines
What I was wondering is how this is any different from:
{ .... code .... }See the Kernel Newbies FAQ at http://kernelnewbies.org/faq/
Q: "Why do a lot of #defines in the kernel use do { ... } while(0)? "Best regards,
Aschwin Marsman
--
aYniK Software Solutions all You need is Knowledge Bedrijvenpark Twente 305 NL-7602 KL Almelo - the Netherlands P.O. box 134 NL-7600 AC Almelo - the Netherlands [email protected] http://www.aYniK.com
i-yi-yi.
/*
* Clarity concerning the
* do {
* ...
* } while (0);
* construct!
*/
#define MACRO_BLOCK_BEGIN do {
#define MACRO_BLOCK_END } while (0);
Quoted 6 lines
See the Kernel Newbies FAQ at http://kernelnewbies.org/faq/
Q: "Why do a lot of #defines in the kernel use do { ... } while(0)? "Best regards,
Aschwin Marsman
Signature · 2 lines
David Nicol, independent consultant and contractor
Senator Orrin Hatch rewinds his DVDs