Hasty Briefsbeta

双语

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的反馈。