build.zig 文件的结构
了解 build 函数和 Builder。
build.zig 文件的结构 是 CoddyKit 上的免费 Zig Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Zig Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Zig Academy 课程共包含 4 节课。
用 Zig 编写的构建脚本
您的项目构建并不是另一种语言编写的配置文件,而是一个名为 build.zig 的真正 Zig 程序,您可以阅读和调试它。🏗️
从 build 开始
每个 build.zig 都会公开一个入口点:公共的 build 函数。Zig 会调用它来确定项目应该生成什么。
pub fn build(b: *std.Build) void {
_ = b;
}构建器对象
唯一的参数 b 是一个 *std.Build。它就是构建器:您需要的每个构建产物和步骤都通过它创建。
b: *std.Build导入标准库
与任何 Zig 文件一样,build.zig 会在顶部引入 std,这样您就能访问 std.Build 及其辅助类型。
const std = @import("std");描述,而不是执行
构建函数本身不会编译任何内容。它会描述由步骤和构建产物组成的图,然后由 Zig 执行它。
选择目标
使用 standardTargetOptions,让命令行决定要为哪个 OS 和 CPU 构建;默认目标是您当前使用的机器。
const target = b.standardTargetOptions(.{});选择优化模式
将它与 standardOptimizeOption 配合使用,让用户在命令行中传入 Debug 或 ReleaseFast,而不必编辑文件。
const optimize = b.standardOptimizeOption(.{});添加构建产物
在 build 中创建要编译的内容,例如可执行文件。您添加的每个构建产物都会成为构建图中的一个节点。
使用 zig build 运行
在项目根目录中,zig build 命令会找到 build.zig,调用您的 build 函数,并执行生成的图。
zig build它就是代码
由于 build.zig 是普通的 Zig 代码,您可以使用变量、条件和循环,按需要塑造构建过程。
一个文件,整个项目
这个文件是整个项目的唯一事实来源:目标、模式、构建产物和步骤都位于 build.zig 中。✅
快速检查
回想一下,运行构建时 Zig 会查找什么。
回顾
您已经看到,build.zig 是一个 Zig 程序,其中包含一个公共 build 函数。该函数接收一个 *std.Build,您可以在其中设置 target、optimize 和构建产物。🎯
常见问题解答
「build.zig 文件的结构」课时是免费的吗?
是的 — 「build.zig 文件的结构」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Zig Academy 课程的其余内容,请升级到 CoddyKit PRO。 Zig Academy 课程共包含 4 节课。
「build.zig 文件的结构」这节课中我会学到什么?
了解 build 函数和 Builder。 你通过在浏览器中直接运行的动手代码来练习 Zig Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Zig Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Zig Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「build.zig 文件的结构」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Zig Academy 课中编写并运行代码吗?
能。每节 Zig Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- build.zig 文件的结构
- 声明可执行文件和库
- 构建步骤与 zig build run
- 构建选项与标志