Linus Torvalds最近以拉动请求为主流新闻.这个拉取请求包含一个函数,overflow_usub它显然是非标准的并且使用某种编译魔术.由于这种咆哮的广泛报道,几乎不可能找到关于这个功能的任何有用信息.我的问题是:什么是什么overflow_usub,何时应该使用它需要什么样的编译器魔术?
Con*_*tin 19
该功能overflow_usub定义为:
static inline bool overflow_usub(unsigned int a, unsigned int b, unsigned int *res){
*res = a - b;
return *res > a ? true : false;
}
Run Code Online (Sandbox Code Playgroud)
它将检查减法中的整数溢出,并且不涉及任何编译器魔法.如果编译器没有,它通常是一个后备__builtin_usub_overflow.
| 归档时间: |
|
| 查看次数: |
4779 次 |
| 最近记录: |