标签: c assembly
当我将一个简单的C代码编译成汇编程序(gcc下的x86-64,但没关系)时,对应于C函数的标签都具有相同的结构:
void foo() { }
编译成:
foo: push rbp mov rbp, rsp nop pop rbp ret
为什么呢?这个功能什么都不做。我以为我明白这些汇编指令是“堆栈指针”。但我仍然没有掌握它们在程序中的用途。你能解释一下吗?