Zig 0.17.0 于 10 月 1 日发布,925 次提交,206 位贡献者。
构建系统的改动
现在把 configuring 和 making 拆开了。新增 Build Server Protocol,让 IDE 可以实时观察构建图。
增量链接
重写的 ELF 链接器让 -fincremental --watch 在大多数 x86_64-linux 项目上终于可用。这是 Zig 开发者等了很久的能力——编辑-编译-运行的循环时间直接决定开发体验。
SafeAllocator 取代 DebugAllocator
这是一条破坏性变更,部分代码需要修改。DebugAllocator 原本用于在调试模式下捕获内存错误,SafeAllocator 是它的继任者。
怎么理解 Zig 的定位
Zig 想做的是 C 的现代替代:手动内存管理、无隐藏控制流、能直接和 C 互操作,但带现代工具链。它不追求 Rust 那样的编译期安全保证,而是把安全检测放在运行时的分配器上。
适合什么场景
系统编程、嵌入式、需要精细控制内存布局的高性能组件,以及想逐步替换 C 代码库的项目。
不适合什么
需要大量现成库支撑的业务应用。生态规模是它目前最大的短板。
学习成本
如果你熟悉 C,上手 Zig 不难,但它的 comptime 模型和显式分配器传递需要时间适应。建议先写几个小工具练手,别直接上生产项目。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。