linux内核宏

2021-02-18, updated 2021-09-12

linux内核中有大量的宏,方便理解或有特定的用途等。

BUILD_BUG_ON

// linux-source-4.19/tools/include/linux/kernel.h

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

如果condition为真,则编译出错

即如果condition为真,则!(condition)==0; !!(condition)==1; 故编译器在编译char[1-2]时会出错。

words: 108 tags: linux macros