摘要:
栈:保存了一个函数调用所需要维护的信息,常被称为堆栈帧或活动记录.ebp:帧指针,固定不变,可以用来定位函数活动记录中的各个数据。ebp直接指向的是调用函数前ebp(即下图的old ebp)的值;在函数返回时,ebp可以通过读取这个值恢复到调用前的值。intel下函数调用:参数压栈(从右向左)当前指令的下一条指令地址压栈跳转到函数体执行其中第2,3步由指令call一起执行,编译器可能要求某些寄存器在调用前后保持不变,或者生成的临时变量都需要压栈。多级调用栈布局PS:Debug模式下未初始化的局部变量出现"烫"或者"屯"原因->栈空间给变量分配空间的 阅读全文