堆栈:return 地址
Stack: return address
栈上的return地址是否与函数调用前程序计数器的值相同?它们似乎都与相同的概念相关,即与函数 returns.
之后将要执行的下一条指令相关
是的。调用机制是这样的(可能不完全是这样,因为不同的x86架构有不同的微架构,但是这个"algorithm"给出了要点):
由于调用指令被获取执行,RIP
被临时设置为调用后指令的地址。 call
的执行会将RIP
的值压入栈中,然后将RIP
设置为call
的目标解析地址。
第 1 卷第 6 章中的详细信息 in the official manual。
栈上的return地址是否与函数调用前程序计数器的值相同?它们似乎都与相同的概念相关,即与函数 returns.
之后将要执行的下一条指令相关是的。调用机制是这样的(可能不完全是这样,因为不同的x86架构有不同的微架构,但是这个"algorithm"给出了要点):
由于调用指令被获取执行,RIP
被临时设置为调用后指令的地址。 call
的执行会将RIP
的值压入栈中,然后将RIP
设置为call
的目标解析地址。
第 1 卷第 6 章中的详细信息 in the official manual。