Ghostty GTK 应用的 Zig 重写:拥抱 GObject 和 Valgrind 的胜利

2025-08-15

Ghostty 终端模拟器的 GTK 版本进行了全面重写,这次重写完全拥抱了 Zig 的 GObject 类型系统,并使用 Valgrind 进行了全面的内存检查。这带来了更丰富的功能、更高的稳定性和更好的可维护性。重写过程中,成功地解决了之前由于避开 GObject 类型系统而导致的内存管理问题,并通过使用 GObject 的属性变化通知系统简化了配置重载等任务。Valgrind 检查发现了少量内存问题,大部分与 C API 交互相关,这证明了 Zig 的内存安全特性在大型复杂项目中的有效性。

开发 Valgrind