#include <stdlib.h>
#include <iostream>
using namespace std;
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)
int main() {
int x;
cin >> x;
if (unlikely(x) >= 100000) {
cout << x << " is too big." << endl;
}
return 0;
}
objdump -S Test

本文展示了一段使用C++的__builtin_expect宏进行条件编译的代码示例,通过定义likely和unlikely宏来优化分支预测,提高程序执行效率。
1206

被折叠的 条评论
为什么被折叠?



