首页 > 其他 > 详细

__builtin_expect

时间:2021-04-22 23:49:00      阅读:29      评论:0      收藏:0      [点我收藏+]

gcc(version >= 2.96) 指令,作用是允许程序员将最有可能执行的分支告诉编译器。这个指令的写法为:

__builtin_expect(EXP, N)

意思是:EXP==N 的概率很大,编译器会根据这个条件,预取指令,从而减少系统的取指次数。

一般的使用方法是将__builtin_expect指令封装宏:

#define Likely(x) __builtin_expect(!!(x),1) //@ x 很可能为真
#define UnLikely(x) __builtin_expect(!!(x),0) //@ x 很可能为假

例如:

#include <stdio.h>

#define Likely(x) __builtin_expect(!!(x),1) //@ x 很可能为真
#define UnLikely(x) __builtin_expect(!!(x),0) //@ x 很可能为假

int abs(int var)
{
	//@ var 很大可能性大于0 
    if(Likely(var > 0))
        return var;
    else
        return -var;
}
int main()
{
    printf("%d\n",abs(10));
    return 0;
}

__builtin_expect

原文:https://www.cnblogs.com/xiaojianliu/p/14690401.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!