我读了这篇article,这是关于兰迪凯思写的Managing heap memory
。
我会问这个部分:
Windows中的每个进程都有一个名为默认堆的堆。 进程也可以拥有他们希望的其他动态堆, 只需通过动态创建和销毁它们即可。系统使用 所有全局和本地内存管理功能的默认堆,以及 C运行时库使用默认堆来支持malloc 功能
我没有动摇,默认堆的功能或好处是什么?
另外,我有另一个问题,作者总是提到reserved and committed space
,committed space
是什么意思?
答案 0 :(得分:5)
应用程序需要堆来分配动态内存。 Windows会自动为每个进程创建一个堆。这是默认堆。大多数应用只使用这个默认堆。
提交是将保留虚拟地址分配给特定内存的行为,以便该进程可以使用它。我建议你在MSDN上阅读这篇文章:Managing Virtual Memory。