发布时间:2012-12-19 11:49:40
在内核代码中经常会看到unlikely和likely的踪影。他们实际上是定义在 linux/compiler.h 中的两个宏。 #define likely(x) __builtin_expect(!!(x), ) #define unlikely(x) __builtin_expect(!!(x), 0) 这里的__built_expect()函数是gcc的內建函数。 至于为什么要在内核代码中使用这两个宏,主要的目的是为了进行代码的优化,提高系统执行速度。 比如 : if (likely(a>b)) {......【阅读全文】