当前位置: 首页 > article >正文 【汇编】关于函数调用过程的若干问题 article 2025/1/5 6:58:14 1. 为什么需要bp指针? 因为bp是栈帧的起始地址,函数内的局部栈变量,采用相对bp的内存寻址。不能相对于sp,sp是一直在变的。 2. 函数调用过程? 函数开始,先压栈bp,保存父函数栈底指针bp;再更新bp为sp;再移动sp,分配局部变量内存;再取参数,执行。调用子函数时,压栈参数;调用call压栈pc。子函数重复上述步骤。 其实就是处理好 bp,sp,pc的保存与恢复,bp与sp确定一个函数栈帧。参数传递局部变量分配 这三件事。 参考 《Linux内核 完全注释》第三章C语言程序 查看全文 http://www.kler.cn/a/457683.html 相关文章: Mac 安装 Flutter 提示 A network error occurred while checking Spring Boot自定义Starter linux 软链接 快捷方式 详解 国产编辑器EverEdit - 常用资源汇总 Wireshark和科来网络分析系统 C语言面的向对象编程(OOP) 选择排序cYuyan 破解无人机能源瓶颈:优化调度与智能布局的实践 mongdb的简介和使用 面向机器学习的Java库与平台 cellphoneDB进行CCI以及可视化 TCP网络编程(二)—— 服务器端的编写 Upload-labs 靶场(学习) 【Linux】Socket编程-UDP构建自己的C++服务器 3.微服务灰度发布落地实践(组件灰度增强) AI 自动化编程的现状与局限 delete,drop,truncate的区别 ChatGPT与Postman协作完成接口测试(四) sql注入杂谈(一)--union select Mysql(MGR)和ProxySQL搭建部署-Kubernetes版本 【机器学习篇】穿越数字迷雾:机器深度学习的智慧领航 【Hackthebox 中英 Write-Up】Manipulating a CRUD API | 操控 CRUD API:一步步提取 Flag 一个线程中总共3个串行任务,在另一个线程中展示任务进行的实施进度。 XXL-TOOL v1.3.2 发布 | Java工具类库 【10】Selenium+Python UI自动化测试 邮件发送测试报告(某积载系统实例-04) Mac 安装Mysql启动Mysql以及数据库的常规操作
1. 为什么需要bp指针? 因为bp是栈帧的起始地址,函数内的局部栈变量,采用相对bp的内存寻址。不能相对于sp,sp是一直在变的。 2. 函数调用过程? 函数开始,先压栈bp,保存父函数栈底指针bp;再更新bp为sp;再移动sp,分配局部变量内存;再取参数,执行。调用子函数时,压栈参数;调用call压栈pc。子函数重复上述步骤。 其实就是处理好 bp,sp,pc的保存与恢复,bp与sp确定一个函数栈帧。参数传递局部变量分配 这三件事。 参考 《Linux内核 完全注释》第三章C语言程序 查看全文 http://www.kler.cn/a/457683.html 相关文章: Mac 安装 Flutter 提示 A network error occurred while checking Spring Boot自定义Starter linux 软链接 快捷方式 详解 国产编辑器EverEdit - 常用资源汇总 Wireshark和科来网络分析系统 C语言面的向对象编程(OOP) 选择排序cYuyan 破解无人机能源瓶颈:优化调度与智能布局的实践 mongdb的简介和使用 面向机器学习的Java库与平台 cellphoneDB进行CCI以及可视化 TCP网络编程(二)—— 服务器端的编写 Upload-labs 靶场(学习) 【Linux】Socket编程-UDP构建自己的C++服务器 3.微服务灰度发布落地实践(组件灰度增强) AI 自动化编程的现状与局限 delete,drop,truncate的区别 ChatGPT与Postman协作完成接口测试(四) sql注入杂谈(一)--union select Mysql(MGR)和ProxySQL搭建部署-Kubernetes版本 【机器学习篇】穿越数字迷雾:机器深度学习的智慧领航 【Hackthebox 中英 Write-Up】Manipulating a CRUD API | 操控 CRUD API:一步步提取 Flag 一个线程中总共3个串行任务,在另一个线程中展示任务进行的实施进度。 XXL-TOOL v1.3.2 发布 | Java工具类库 【10】Selenium+Python UI自动化测试 邮件发送测试报告(某积载系统实例-04) Mac 安装Mysql启动Mysql以及数据库的常规操作