3

我正在寻找 C 应用程序的内存管理机制的详细描述,尤其是基于区域的内存管理。我找不到任何关于它的好的深入文章/书籍/教程:(

有人可以指出我正确的方向吗?

4

3 回答 3

1

很好的参考是原始 Doom 源代码(区域内存分配器,请参见此处http://doom.wikia.com/wiki/Zone_memory

进一步的开发是 Quake1 源代码(hunk/zone malloc)。

不是教程,而是一个非常好的实现。

于 2012-06-29T22:21:07.443 回答
0

有一些关于APR内存池的信息:

另一个例子是nginx的池,它基本上是区域

于 2012-06-30T13:01:13.420 回答
0

虽然不适用于 C,但我可以直接说下一篇论文中的实现是用 C 编写的,作为 gcc 插件。此处的论文PDF标题为“Towards Region-Based Memory Management for Go”。有很多语义等来解释作者如何为 Go 编程语言实现 RBMM。

于 2012-06-29T23:41:42.507 回答