进程的默认堆

时间:2011-11-26 19:20:29

标签: windows process memory-management heap

我读了这篇article,这是关于兰迪凯思写的Managing heap memory。 我会问这个部分:

  

Windows中的每个进程都有一个名为默认堆的堆。   进程也可以拥有他们希望的其他动态堆,   只需通过动态创建和销毁它们即可。系统使用   所有全局和本地内存管理功能的默认堆,以及   C运行时库使用默认堆来支持malloc   功能

我没有动摇,默认堆的功能或好处是什么?

另外,我有另一个问题,作者总是提到reserved and committed spacecommitted space是什么意思?

1 个答案:

答案 0 :(得分:5)

应用程序需要堆来分配动态内存。 Windows会自动为每个进程创建一个堆。这是默认堆。大多数应用只使用这个默认堆。

提交是将保留虚拟地址分配给特定内存的行为,以便该进程可以使用它。我建议你在MSDN上阅读这篇文章:Managing Virtual Memory