栈帧结构(程序调用栈结构)详解

栈帧结构(程序调用栈结构)详解知识点扫描ESP:栈指针寄存器(extended stack pointer),放着一个指针,该指针永远指向系统栈最上面一个栈帧(栈帧不理解没关系)的栈顶。EBP:基址指针寄存器(extended base pointer),放着一个指针,该指针永远指向系统栈最上面一个栈帧的底部。EIP:指令寄存器(extended instruction pointer),存储CPU下一个要执行的指令的地址。简介​ 栈帧结构就是在程序运行中发生函数调用时,会产生一个调用栈,调用栈
摘要由CSDN通过智能技术生成

栈帧结构(程序调用栈结构)详解

知识点扫描

ESP:栈指针寄存器(extended stack pointer),放着一个指针,该指针永远指向系统栈最上面一个栈帧(栈帧不理解没关系)的栈顶。

EBP:基址指针寄存器(extended base pointer),放着一个指针,该指针永远指向系统栈最上面一个栈帧的底部。

EIP:指令寄存器(extended instruction pointer),存储CPU下一个要执行的指令的地址。

简介

​ 栈帧结构就是在程序运行中发生函数调用时,会产生一个调用栈,调用栈里面存储四类数据,分别为:函数参数、程序返回地址、基地址寄存器EBP的值以及局部变量。为了让大家更好地理解栈帧结构、函数调用和返回过程、参数和局部变量存储原理,下面将用一个小程序调试和分析过程来进一步说明。

本文小程序代码如下:

#include<stdio.h> 
int multiply(int x
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值