【发布时间】:2010-11-18 23:16:36
【问题描述】:
这对 C/C++ 程序员来说意味着什么以及了解它有多重要?
至少在概念上,跨平台是否相同?
我把它理解为一个分配的内存块,用于存储函数的局部变量...
我想知道更多
【问题讨论】:
-
AKA 堆栈帧 - 请参阅 en.wikipedia.org/wiki/Activation_record#Structure
-
@Neil,你的评论应该是答案。
-
当你有太多的问题时,它们会生成一个非常酷的关于编程问题的网站。
-
实际上,他没有,但我不喜欢发布仅包含维基百科链接的答案。
-
函数调用的帧不需要在栈中实现。 ISO C 和 ISO C++ 都没有提到“堆栈”,除了 ISO C++ 第 15 条中的“堆栈展开”,它基本上是“自动对象的 LIFO 销毁”,除了实现细节之外什么都没有做。实际上允许从堆或其他内存区域分配调用堆栈,而不是 ISA 特定的堆栈。