linux - __buildin_expect 和 if 条件行为
问题描述
- 我想知道他们是怎么做到的|| 以下代码中带有(&& 和不太可能)的功能。
if (unlikely(!arch_get_random_seed_long(&v)) && unlikely(!arch_get_random_long(&v))) {
break;
}
根据设计,如果 arch_get_random_seed_long 获得值 &v,则无需在 arch_get_random_long() 中再次填充该值。这段代码工作正常。
但是,“不太可能”如何实现这一目标。在 && 一次 [unlikely(!0)] 之后跳过剩余的代码。
谢谢, 帕瓦南
解决方案
推荐阅读
- vim - 看不到文件中的前两个字符
- javascript - auth.signInWithEmailAndPassword() 登录中的问题
- java - 我不确定代码中的错误是什么,应用程序没有打开它闪烁并在一秒钟内消失
- python - 如何从 CountVectorizer 输出中获取特定单词?
- python-3.x - 在 Simpy 中重新启动模拟,直到发生有趣的事情
- javascript - Angular 将空实体发送到服务器
- phpunit - PHPUnit的破测试在processIsolation模式下成功通过
- r - 将R中一组点的边界作为多边形返回?
- javascript - 您如何在 jest 上执行重复的 jQuery ajax 调用以进行单元测试?
- javascript - 当任何 cypress 方法不起作用时如何处理 Cypress 中的拖放