我试图理解一个简单的 C++ 程序的汇编输出。这是我的 C++ 程序。
void func()
{}
int main()
{
func();
}
Run Code Online (Sandbox Code Playgroud)
当我使用带有 --save-temps 选项的 g++ 来获取上述程序的汇编代码时,我得到以下汇编代码。
.file "main.cpp"
.text
.globl _Z4funcv
.type _Z4funcv, @function
_Z4funcv:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE0:
.size _Z4funcv, .-_Z4funcv
.globl main
.type main, @function
main:
.LFB1:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
call _Z4funcv
movl $0, %eax
popq %rbp
.cfi_def_cfa …Run Code Online (Sandbox Code Playgroud)