Frank Tan

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

LIKELY和UNLIKELY的一般定义如下:

 

#define LIKELY(x) (__builtin_expect(!!(x),1))
#define UNLIKELY(x) (__builtin_expect(!!(x),0))

 

为什么要使用两个叹号呢?

 

取两次非主要是为了顺利的和0或1进行比较。

posted on 2010-12-11 00:02  Frank Tan  阅读(855)  评论(0编辑  收藏  举报