首先我们要知道研究栈帧的目的:函数调用时形成的临时变量的存储单元在栈上创建、释放
栈的概念:下面有图解
每个任务(进程)有一个栈(stack),在这个进程中每个函数被调用时分别从这个栈占用一段区域,称为帧(frame)。寄存器esp指向当前整个栈的栈顶,寄存器 ebp指向当前帧的帧底。这里务必要区分清楚,栈相对于整个系统而言,调用栈(call stack)相对于某个进程而言,帧(stack frame)则是相对于某个函数而言。具体来说,call stack就是指存放某个程序的正在运行的函数的信息的栈。(Call stack)由( stack frames)组成,每个 (stack frame)对应于一个未完成运行的函数。
<