摘要:
在 2.6 内核中,随处可以见到 likely() 和 unlikely() 的身影,那么为什么要用它们?它们之间有什么区别? 首先要明确: if(likely(value)) 等价于 if(value) if(unlikely(value)) 也等价于 if(value)也就是说 likely() 和 unlikely() 从阅读和理解代码的角度来看,是一样的!!!这两个宏在内核中定义如下:#define likely(x) __builtin_expect((x),1)#define unlikely(x) __builtin_expect((x),0)__builtin_expect() 阅读全文