gc 是一种保守的、线程本地的标记-清除式垃圾回收器的实现。该实现可完全替代标准 POSIX 的 malloc(), calloc(), realloc() 和 free() 调用。gc 的重点是提供一个概念上清晰的标记-清除式 GC 实现,而不深入探讨特定架构的优化细节(例如,可以参考 [Boehm GC][boehm] 进行此类研究)。它特别适合用于学习目的,并且开放于各种优化(欢迎提交 PR!)。
gc 的最初动机是我希望用 C 编写 [自己的 LISP][stutter],从头开始,而这需要垃圾收集。
文档概述