69,744
社区成员
发帖
与我相关
我的任务
分享
float fun()
{
return 12.34;
}
int main()
{
float a;
a = fun();
return 0;
}
上面程序的反汇编如下(只取了fun函数的):
<fun>:
push %rbp
mov %rsp,%rbp
mov $0x414570a4,%eax //此处0x414570a4就是12.34的16进制表示,这说明了在底层,是没有float的
mov %eax,-0x4(%rbp)
movss -0x4(%rbp),%xmm0
pop %rbp
retq