1、作为一种防止宏错误展开的一种防御性写法。 相信很多人都知道,这里不展开了。 2、实现 goto 语句的功能,一次break就可以跳出到后续语句。 do { if(...) break; ... }while(0) // 后续语句 例如: // https://gitee.com/openharm ...
分类:
其他好文 时间:
2020-09-21 12:06:28
阅读次数:
44
linux内核和其他一些开源的代码中,经常会遇到这样的代码:
do{
...
}while(0)
这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?
实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:
1、辅助定义复杂的宏,避免引...
分类:
其他好文 时间:
2014-12-19 17:30:36
阅读次数:
171