关于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/

你可能感兴趣的:(Build)