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