发布时间:2013-01-10 00:01:29
BUG_ON && WARN_ON一.BUG_ONLinux中BUG_ON,WARN_ON用于调试,比如14 #define BUG_ON(condition) do { / 15 if (unlikely((condition)!=0)) / 16 BUG(); / 17 } while(0)......【阅读全文】
发布时间:2013-01-09 23:53:38
likely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢?首先明确: if (likely(value))等价于if (value) if (unlikely(value))等价于if (value) 也就是说likely()和unlikely()从阅读和理解的角度是一样的。 这两个宏在内核中定义如下: <linux/compiler> #define likely(x) __builtin_expect(!!(x), 1)#define unlikely(x) __builtin_expect(!!(x),......【阅读全文】