当前位置: 首页 > news >正文

在32位机器上,栈的简单布局

在32位机器上,函数在栈上的布局:

void h(int a,int b){ int c=a+b; } int main(){ int a=1,b=2; h(a,b); }

高地址

a

b

b 形参b

a 形参a

eip 当该函数执行结束后,ip中存放的地址

旧的ebp 存放调用该函数的函数的ebp <---ebp 新的ebp指向

c 如果有输入,esp会先分配空间,之后输入内容从低地址到高地址填充空间

leave,ret leave指令:mov esp,ebp直接销毁函数的局部变量,并pop ebp来恢复以 前函数的ebp,再通过pop eip,让ip继续调用h函数之后执行

低地址

tip:当函数执行完之后,形参a,b不需要h函数回收,交给上一个函数leave直接处理

程序是怎么访问数据的,通过ebp+0x**来访问数据,比如访问局部变量c就是ebp-0x4

假如ebp占4个字节,ebp的地址为ebp+0到ebp+4

http://www.jsqmd.com/news/500083/

相关文章:

  • 【黎阳之光:AI+视频孪生赋能,筑牢城市生命线安全屏障 】
  • 庭院桌椅一上AI就穿帮,我后来这样挑工具
  • 2026上海广告位公司推荐:聚焦核心商圈户外资源 - 品牌排行榜
  • Linux 进程调度模块
  • 第5篇:中文语言 华夏本源语言——实战代码示例
  • 从全红90%到安全线!这篇降AI保姆级实操攻略,看完不再慌(附工具避坑测评)
  • 深度解析:OpenClaw 企业级安全加固架构设计与实现 - 从权限泛滥到零信任的完整实践
  • 被问爆的下载工具,跑满200M带宽,下载速度25.9MB/s
  • uc/os-II操作系统时钟节拍器
  • 什么是偶极矩?
  • LangBot:企业级即时通讯 AI 机器人平台 使用包管理器部署(包含手机部署方式)篇
  • 在 Windows 中打开蓝牙设备
  • AI大模型竟被投毒?315曝光的“暗黑操作”如何影响你的决策?
  • 计算机毕业设计答辩全攻略,答辩老师最常问的都在这里了
  • 二叉树详解:从概念到应用,带你玩转树形结构
  • 【卡尔曼滤波】第1章 理论基础与标准卡尔曼滤波
  • 一、Spring
  • 号码核验在B端拓客中的应用困境与技术升级路径研究氪迹科技法人号码核验系统
  • 软件开发常用工具介绍
  • HTTP 消息:解析与优化
  • LoRA 与 QLoRA
  • Zabbix6.2利用模板和自定义监控项监控华为AR3260路由器
  • ROS2学习记录009-使用面向对象方式编写ROS2节点
  • 从此告别拖延!全场景通用的AI论文工具 —— 千笔写作工具
  • 震惊,杨幂的脸竟然出现在了她的身体上
  • java基础学习3(数据类型转换、运算符)
  • 把坑都踩完了,千笔AI VS 笔捷Ai,全场景通用AI论文网站!
  • 【常见错误】Xilinx Vivado自带编辑器文字部分出现乱码解决办法
  • 数字孪生国内外发展现状
  • 【Xilinx Vivado时序分析/约束系列2】FPGA开发时序分析/约束-建立时间