Chinaunix首页 | 论坛 | 博客
  • 博客访问: 173556
  • 博文数量: 47
  • 博客积分: 992
  • 博客等级: 准尉
  • 技术积分: 565
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-08 21:57
文章分类

全部博文(47)

文章存档

2019年(1)

2018年(1)

2017年(1)

2014年(6)

2013年(1)

2012年(2)

2011年(35)

我的朋友

分类: LINUX

2011-06-21 18:11:27

Kernel110621: likely和unlikely注记


Email:    zcatt@163.com
Blog    http://zcatt.blog.chinaunix.net
 
声明
仅限学习交流,禁止商业用途。转载需注明出处。

版本记录
Date        Ver        Note
2011-06-21    0.1        Draft.  zcatt, Beijing

likely和unlikely的定义如下, @ compiler.h

# define likely(x)    __builtin_expect(!!(x), 1)
# define unlikely(x)    __builtin_expect(!!(x), 0)

likely(x)和unlikely(x)语义都相当于 !!(x)
__builtin_expect(long exp, long c)也是gcc的内置函数, 语义相当于 (exp).__builtin_expect()的目的是用于gcc的编译优化.
likely(x)告诉编译器!!(x)取1的可能性大些, unlikely(x)告诉编译器!!(x)取0的可能性大些.


Locations of visitors to this page
阅读(546) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~