【发布时间】:2011-05-13 00:59:02
【问题描述】:
可能重复:
How is heap and stack memories managed, implemented, allocated?
嗨, 我的问题是关于堆,而不是数据结构,而是用于动态内存分配的内存区域。
假设我们正在用 C(或者可能是 C++)编写一个程序,并且在其代码深处的某个地方调用了 malloc()(或者在 C++ 的情况下调用了 operator new)。现在分配的内存的位置是什么?编译器(链接器?)是否添加了用作堆的数据段?该段的大小是如何确定的?如果我们尝试分配一块大于整个“堆段”的内存会发生什么?堆会扩大吗?如果是,怎么做?
【问题讨论】:
标签: c++ c memory heap-memory low-level