特に何もしないメイン関数の gdb 逆アセンブリ出力を見てきましたが、次のようになります。
1 push %rbp
2 mov %rsp, %rbp
3 sub $0x10,%rsp
4 movl $0x0, -0x8(%rbp) ;
5 mov -0x8(%rbp), %eax ;
6 mov %eax, -0x4(%rbp) ;
7 mov -0x4(%rbp), %eax ;
8 add $0x10, %rsp
9 pop %rbp
10 retq
私は Mac ユーザーではありませんが、気になるのは、4 行目から 7 行目までは何をしているのかということです。.次のようなものであってはなりません:
push %rbp
mov %rsp, %rbp
sub $0x10, %rsp
xor %eax, %eax
add $0x10, %rsp
pop %rbp
retq
注:質問のタイトルを自由に改善してください。より良いタイトルが見つかりませんでした。