帧指针 和栈指针到底是什么,有什么联系吗,拜托了!

tangwuquan 2006-10-01 02:12:08
在函数调用和返回的时候会涉及到帧指针和栈指针但谁能给我说的更清楚一点,
感谢, 感谢!!!!
...全文
2036 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
legumen 2006-10-01
  • 打赏
  • 举报
回复 1
FP帧指针指向帧头
SP栈指针指向栈顶
大部分现代计算机系统使用栈来给进程传递参数并且存储局部变量。栈是一种在进程映象内存的高地址内的后进先出(LIFO)的缓冲区。当程序调用一个函数时一个新的“栈帧”会被创建。这个栈帧包含着传递给函数的各种参数和一些动态的局部变量空间。“栈指针”记录着当前 栈顶的位置。由于栈指针的值会因为新变量的压入栈顶而经常的变化,许多实现也提供了一种"帧指针"来定位在栈帧的起始位置,以便局部变量可以更容易的被访问。
简单的说就是帧指针可用于子例程参数传输,而栈指针则可用于存储子程序调用的返回地址。
可以看一下“计算机系统”
sunman1982 2006-10-01
  • 打赏
  • 举报
回复
http://www.newsmth.net/pc/pccon.php?id=6593&nid=248537
u94586813 2006-10-01
  • 打赏
  • 举报
回复
长见识了~~
lhbgyl 2006-10-01
  • 打赏
  • 举报
回复
你可以看《深入理解计算机系统》第三章,讲的很详细

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧