likely(x)和unlikely(x)

他们在include/linux/compiler.h中定义

1 # ifndef likely
2 #  define likely(x)    (__branch_check__(x, 1, __builtin_constant_p(x)))
3 # endif
4 # ifndef unlikely
5 #  define unlikely(x)    (__branch_check__(x, 0, __builtin_constant_p(x)))
6 # endif

  __builtin_constant_p 是编译器gcc内置函数,用于判断一个值是否为编译时常量,如果是常数,函数返回1 ,否则返回0。此内置函数的典型用法是在宏中用于手动编译时优化。

 

posted @ 2020-11-03 15:23  蒲城小农  阅读(91)  评论(0编辑  收藏  举报