File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed
Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ outline : deep
3+ comments : false
4+ showVersion : false
5+ ---
6+
7+ # ` 0.14.0 `
8+
9+ 2025/3/5,` 0.14.0 ` 发布,历时 9 个月,有 251 位贡献者,一共进行了 3467 次提交!
10+
11+ 除了大量的构建系统升级、语言变更和目标支持增强之外,此版本还朝着我们的两项长期目标迈进——增量编译和更快的 x86 后端 - 都专注于 ** 减少编辑/编译/调试周期延迟** 。
12+
13+ ::: warning
14+
15+ 有关于各平台和架构的支持情况,本次更新并未进行更改,故在此处不再提及!
16+
17+ :::
18+
19+ ## 编译器
20+
21+ 未分类的更改:
22+
23+ - ` -fno-omit-frame-pointer ` 现在是 x86 目标上 ` ReleaseSmall ` 的默认设置
24+ - 管道:更早地生成产生链接器输入的作业
25+
26+ ### 多线程后端支持
27+ 编译器的一些后端(例如 x86 后端)现在支持在与前端不同的线程中运行代码生成。作为一个数据点,这使得编译器在一台计算机上自我构建的速度从 12.8 秒加快到 8.57 秒。
28+
29+ ### 增量编译
30+
31+ 虽然此功能尚未准备好默认启用,但可以通过传递给 ` zig build ` 的 ` -fincremental ` 标志选择加入。建议与文件系统监视结合使用,因为编译器状态序列化尚未实现。
32+
33+ 此功能的完整性因使用的链接器后端而异。它们中的任何一个都尚未普遍准备好使用,但与 ` -fno-emit-bin ` 结合使用效果很好。
34+
35+ 鼓励用户创建一个仅检查编译错误的构建选项,并通过以下方式尝试增量编译:
36+
37+ ``` zig
38+ const no_bin = b.option(bool, "no-bin", "skip emitting binary") orelse false;
39+ if (no_bin) {
40+ b.getInstallStep().dependOn(&exe.step);
41+ } else {
42+ b.installArtifact(exe);
43+ }
44+ ```
You can’t perform that action at this time.
0 commit comments