您的位置:首页 > 健康 > 美食 > 天元建设集团有限公司嘉和新城_网站建设价格差异多少_新乡网站优化公司推荐_广州网络运营课程培训班

天元建设集团有限公司嘉和新城_网站建设价格差异多少_新乡网站优化公司推荐_广州网络运营课程培训班

2025/9/14 10:13:40 来源:https://blog.csdn.net/u012790503/article/details/144728828  浏览:    关键词:天元建设集团有限公司嘉和新城_网站建设价格差异多少_新乡网站优化公司推荐_广州网络运营课程培训班
天元建设集团有限公司嘉和新城_网站建设价格差异多少_新乡网站优化公司推荐_广州网络运营课程培训班

1. 为什么需要bp指针?

因为bp是栈帧的起始地址,函数内的局部栈变量,采用相对bp的内存寻址。不能相对于sp,sp是一直在变的。

2. 函数调用过程?

  • 函数开始,先压栈bp,保存父函数栈底指针bp;再更新bp为sp;再移动sp,分配局部变量内存;再取参数,执行。
  • 调用子函数时,压栈参数;调用call压栈pc。
  • 子函数重复上述步骤。

其实就是处理好

  • bp,sp,pc的保存与恢复,bp与sp确定一个函数栈帧。
  • 参数传递
  • 局部变量分配

这三件事。


参考
  • 《Linux内核 完全注释》第三章C语言程序

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com