Hasty Briefsbeta

双语

Defeating Memory Leaks with Zig Allocators

10 months ago
  • #Zig
  • #Debugging
  • #Memory Management
  • 作者正在阅读《Crafting Interpreters》学习编程语言开发知识,并用Zig语言而非Java实现Lox语言
  • Zig是一门注重手动内存管理增强的系统编程语言,提供分配器、defer和可选类型等特性
  • Zig标准库提供多种分配器实现,只需极小代码改动就能在不同分配器间切换
  • Zig的调试分配器无需外部工具即可检测内存泄漏和重复释放等问题
  • 作者在解释器实现中因未释放中间表达式导致内存泄漏
  • 通过复制字面量和正确释放中间表达式,作者修复了内存泄漏和重复释放问题