我需要一个通用的malloc 实现,它使用一个大的固定大小的缓冲区。类似于SQLite所使用的"Zero-malloc 内存分配器"。您是否了解任何这样的实现?它应该是轻量级和可移植的,可以用于嵌入式应用。
提前致谢。
我需要一个通用的malloc 实现,它使用一个大的固定大小的缓冲区。类似于SQLite所使用的"Zero-malloc 内存分配器"。您是否了解任何这样的实现?它应该是轻量级和可移植的,可以用于嵌入式应用。
提前致谢。
两个建议:
SQLite的源代码是免费提供的。如果你喜欢特定的实现方式,为什么不使用它呢?
大多数当前的malloc
实现是通过切割从操作系统获得的大块内存来工作的。如果该块用完了,malloc
会向操作系统请求一个新的大块。
您可以基于现有的malloc
实现(例如glibc),而不是从操作系统获取块,而是使用单个静态缓冲区。当它用完时,malloc
将开始失败,就像操作系统无法提供任何新块时一样。