首先需要介绍一下,阅读此文需要有基本的汇编知识. 1.rbp(基址寄存器),rsp(堆栈寄存器),rip(指令寄存器). 2.程序执行时,没有遇到函数调用时,IP自增长,遇到函数调用时, 需要保存bp,ip寄存器到栈上,函数调用结束时,恢复.(这个过程的细节需要很清楚) (注:因此需要简单描述一下,函数调用时的步骤. 第一,将函数执行完成后的下一条指令的地址存放进当前rsp的位置,(即结束时,ret命令利用此信息恢复rip) 第二,进入函数后,保存当前rsp到rbp寄存器中,原因是rsp需要随时