如何解决为什么 C 中的“a==b”在汇编中被编译为“xor; j; sltu”? - 为什么要在无条件跳转后进行指令?
我想看看 ==
是如何用 C 编译的。因此我尝试了一个简单的代码:
#include <stdio.h>
int f(int a,int b) {
return a==b; // NOTE THIS
}
int main(void) {
int a,b,c;
scanf("%d",&a,&b);
printf("%d",f(a,b));
}
这是对 Godbolt 的尝试。这是非常违反直觉的...
问题:
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。