buddy:一个简单的伙伴分配器

时间:2021-06-01 15:39:03
【文件属性】:
文件名称:buddy:一个简单的伙伴分配器
文件大小:12KB
文件格式:ZIP
更新时间:2021-06-01 15:39:03
C 伙伴 Apache License 2.0 下的简单伙伴分配器。 malloc/free 函数的代码不超过 60 行。 没有递归函数。 只要您了解伙伴分配器是什么以及它的用途,代码就简单明了。 还没有彻底的测试。 随意测试它,错误报告将不胜感激。 我将在一些微控制器 (MCU) 项目中使用它,并将保留针对该域的代码。 所以线程安全不会永远被解决。 假设是: 单线程。 没有其他可用的内存分配器。 内存池将被静态分配(首选),或者使用alloca()在堆栈上分配alloca()如果可用)。 解释 有很多网页解释了伙伴内存分配器。 我发现这个页面对工作代码特别有帮助。 示例代码有效,但使用了递归函数。 所以我重写它。 另一个修改是free() 。 示例代码要求调用者提供分配块的大小。 它用于计算要释放的 mem 块的块顺序 - 在 buddy 的术语中。 这在现实世界的代码中
【文件预览】:
buddy-master
----main.c(1KB)
----buddy.h(2KB)
----LICENSE(11KB)
----.gitignore(246B)
----README.md(2KB)
----projects()
--------eclipse()
----buddy.c(3KB)

网友评论