gpt4 book ai didi

c++ - 调用函数时栈上有什么?

转载 作者:太空狗 更新时间:2023-10-29 23:47:27 24 4
gpt4 key购买 nike

我只能想象1)参数;2) 局部变量;

还有什么?

1) 函数返回地址?2) 函数名?

最佳答案

它确实取决于平台和架构,但通常:

  • 函数返回地址
  • 调用者的 CPU 寄存器的保存值 - 最重要的是,调用者的堆栈帧指针值
  • 使用 alloca() 分配的变量。
  • 有时 - 异常处理的额外内容,这非常依赖于平台。
  • 有时 - 保护值以检测堆栈破坏

据我所知,函数名称永远不会在堆栈中,除非您的代码将它放在那里。

关于c++ - 调用函数时栈上有什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5589619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com