此分配器将在具有静态内存的嵌入式系统中使用(即,没有可用的系统堆,因此“堆”将简单地为“字符堆 [4096]”)
周围似乎有很多“小内存分配器”,但我正在寻找一个可以处理非常小的分配的。我说的是典型的 16 字节大小,CPU 使用量较小,内存使用量较小。
考虑到典型的分配大小是 <= 16 字节,稀有分配是 <= 64 字节,而“百万分之一”的分配高达 192 字节,我想简单地将这 4096 字节分成 255 页,每页 16 字节,然后有一个位图和“下一个空闲块”指针。因此,如果内存可用,则不是搜索,而是标记适当的块并且函数返回指针。只有到达终点后,它才会去寻找所需大小的适当插槽。由于系统的性质,在“下一个空闲块”到达“堆”末尾时,较早的块“应该”已经被释放。
所以,
有谁知道这样的东西已经存在?如果没有,任何人都可以在我的理论中戳破洞吗?或者,他们能提出更好的建议吗?
只有 C,没有 C++。(整个应用程序必须适合 <= 64KB,到目前为止大约有 40K 的图形......)