我需要一个使用一个大的固定大小缓冲区的通用malloc实现。类似于“Zero-malloc memory allocator”SQLite的东西。你知道任何这样的实现吗?它应该重量轻,便于携带,可用于嵌入式应用。
提前致谢。
答案 0 :(得分:7)
两个建议:
答案 1 :(得分:4)
SQLite源代码是免费提供的。如果您喜欢特定的实现,为什么不使用它呢?
答案 2 :(得分:1)
大多数当前malloc
实现通过划分从操作系统获得的大量内存来工作。如果该块用完,malloc
会要求操作系统提供一个新的大块。
您可以将自己的实现基于现有的malloc
实现(例如glibc实现),而不是从操作系统获取块,而是使用单个静态缓冲区。当用完时,malloc
将开始失败,就像操作系统无法提供任何新块一样。