Skip to content

Commit 847850c

Browse files
committed
0.14.0 部分版本说明
1 parent a3f3acd commit 847850c

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

course/update/0.14.0-description.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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+
```

0 commit comments

Comments
 (0)