@@ -140,11 +140,13 @@ bun check
140140** 路径** : ` build/0.XX.zig `
141141
142142当 Zig 编译器 API 发生变更时需要更新:
143+
143144- 构建系统 API 变更(如 ` std.Build ` 接口改变)
144145- 模块系统变更(如 ` root_module ` 相关 API)
145146- 目标平台和优化选项变更
146147
147148** 示例场景** :
149+
148150- Zig 0.12 引入模块系统,需要从 ` addExecutable ` 迁移到 ` addModule `
149151- Zig 0.14 更改了目标解析方式,需要更新 ` resolved_target ` 相关代码
150152
@@ -155,35 +157,43 @@ bun check
155157此目录包含两类文件需要维护:
156158
157159##### a) 单文件示例(直接的 .zig 文件)
160+
158161这些文件会被构建脚本直接编译为可执行文件和测试:
162+
159163- ` hello_world.zig `
160164- ` array.zig `
161165- ` comptime.zig `
162166- 等等...
163167
164168** 修复重点** :
169+
165170- 标准库 API 变更(如 ` std.debug.print ` 、` std.mem.Allocator ` )
166171- 语法变更(如错误处理、可选类型语法)
167172- 类型系统变更
168173
169174##### b) 项目类型示例(子目录包含 build.zig)
175+
170176这些是完整的 Zig 项目,有自己的构建系统:
177+
171178- ` build_system/ ` - 构建系统示例
172179- ` import_dependency_build/ ` - 依赖管理示例
173180- ` import_vcpkg/ ` - C 库集成示例
174181
175182** 修复重点** :
183+
176184- 项目自己的 ` build.zig ` 需要同步更新
177185- 依赖声明方式的变更(如 ` build.zig.zon ` )
178186- 模块导入和导出方式的变更
179187
180188#### 3. 版本符号链接维护
181189
182190** 当前符号链接** :
191+
183192- ` course/code/13/ ` → ` ./12 ` (Zig 0.13 与 0.12 兼容)
184193- ` course/code/release/ ` → ` ./15 ` (指向最新稳定版)
185194
186195** 维护规则** :
196+
187197- 如果新版本完全兼容旧版本,可以创建符号链接而不是复制代码
188198- 当有破坏性变更时,必须创建独立目录并更新所有示例
189199
@@ -204,16 +214,19 @@ zig build
204214#### 5. 常见破坏性变更类型
205215
206216** 标准库变更** :
217+
207218- 分配器 API (` std.heap.GeneralPurposeAllocator ` )
208219- 文件系统 API (` std.fs ` )
209220- 网络 API (` std.net ` )
210221
211222** 语言特性变更** :
223+
212224- 错误处理语法
213225- 可选类型语法
214226- 编译时特性
215227
216228** 构建系统变更** :
229+
217230- ` std.Build ` API
218231- 模块系统
219232- 依赖管理(` build.zig.zon ` )
@@ -224,6 +237,7 @@ zig build
224237项目的 CI 系统(` .github/workflows/build.yml ` )会在多个平台和 Zig 版本上运行构建,可以参考 CI 配置来本地测试多版本兼容性。
225238
226239** 创建新版本支持** :
240+
2272411 . 复制最近版本的 ` build/0.XX.zig ` 到新版本
2282422 . 复制或链接 ` course/code/XX/ ` 目录
2292433 . 在主 ` build.zig ` 中添加新版本的 case 分支
@@ -232,6 +246,7 @@ zig build
232246
233247** 检查依赖项目** :
234248不要忘记检查子目录项目的构建:
249+
235250``` bash
236251cd course/code/15/build_system
237252zig build
0 commit comments