宏函数为何使用do{...}while{0}包起来

在咱们看内核源码或者库以及一些优秀的源码时,都会发现他们的宏函数是包括在do{…}while(0)内。具体的缘由其实想一想就能明白。css 考虑下面一个特殊的例子。 宏函数的定义以下:web #define test(x) \ a(x); \ b(x); 若是在调用时是这样调用的:bash if (judge) test(x); 那么展开以后就是:svg if (judge): a(x
相关文章
相关标签/搜索