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的可能性大些.
阅读(595) | 评论(0) | 转发(0) |