Show HN: I wrote a minimal memory allocator in C
3 months ago
- #C-programming
- #memory-allocator
- #system-programming
- 在C语言中自定义实现malloc、calloc、realloc和free函数。
- 小内存分配使用sbrk,大内存分配使用mmap。
- 包含块分割与合并等优化以减少内存碎片。
- 非线程安全,并发调用可能导致未定义行为。
- 需要GCC、Make及POSIX兼容系统(如Linux、macOS)。
- 编译命令:`make`、`make tests`、`make bench`。
- 提供`allocator.h`头文件与静态库的示例用法。
- 项目结构包含示例、测试和基准测试。
- 局限性:无线程安全、碎片整理或内存压缩功能。
- 采用MIT许可证,欢迎贡献代码。
- 致谢Dan Luu的malloc教程及Joshua Zhou与Abdul Fatir的反馈。