摘要:
最近在公司的代码中看到不少likely/unlikely的调用,起初不太明白,上网一查才明白这东西是干吗用的。首先要明确以下代码的含义:if (likely(value))等价于if (value)if (unlikely(value))等价于if (value)也就是说likely()和unlikely()从阅读和理解的角度是一样的。这两个宏在内核中定义如下:1 <linux/compiler>2 3 #define likely(x) __builtin_expect(!!(x), 1)4 #define unlikely(x) __builtin_expect(!!(x), 阅读全文
浙公网安备 33010602011771号