0

C 函数使用调用堆栈(堆栈帧)在函数调用之前/之后推送/弹出寄存器。如果 ebp 是用于访问堆栈上所有变量的帧指针,那么似乎 esp 是多余的?

那么为什么在函数调用的 prolog/epilog 中,我们同时操作 esp 和 ebp 呢?如果我只用一个寄存器来做这项工作,有什么不方便的地方吗?

谢谢。

4

0 回答 0