重点内容
本图片为栈空间的开辟,以及释放,其中可以总结几点:
1. 形参实例化的顺序是从右往左的。
2. 形参实例化形成的临时变量在两个栈帧之间。
3. 函数中的变量都叫局部变量,因为函数调用完毕,栈帧结构被释放,栈帧结构的变量也都随即被释放。
4. call:将当前正在执行的指令的下一条地址压入栈中,随即call(跳转)jmp至指定函数。
5. ret:pop(弹出)栈顶,将栈顶的值弹出,且将值写入eip。
6. 函数的返回值的返回,函数定义的变量都是临时变量,所以是通过公共寄存器来返回。
#include<stdio.h>
int Add(int x,int y)
{
int z = x + y;
return z;
}
int main()
{
int