关于BUILD_BUG_ON

内核中有这样一个宏:

#defineBUILD_BUG_ON(condition)((void)sizeof(char[1-2*!!(condition)]))

其作用是在编译的时候如果condition为真,则编译出错。

即:如果condition为真则!condition为0;!!condition值为1;所以编译器在编译char[1-2]时汇出错。

http://blog.163.com/yangfan876@126/blog/static/80612456201282094458498/

posted @ 2012-12-26 09:30  mull  阅读(190)  评论(0编辑  收藏  举报