编译目标 (Targets)
Zig 的一个核心特性是其强大的交叉编译能力。它可以轻松地为不同的架构和操作系统编译代码,而无需安装外部 SDK。
目标三元组 (Target Triple)
Zig 使用“架构-操作系统-ABI”的三元组格式来指定编译目标。
例如:
x86_64-linux-gnu: 64 位 x86 架构,Linux 操作系统,GNU ABI (glibc)。x86_64-linux-musl: 64 位 x86 架构,Linux 操作系统,musl ABI。aarch64-macos-none: ARM64 架构,macOS。wasm32-freestanding: 32 位 WebAssembly,无操作系统。
查看可用目标
使用 zig targets 命令可以列出所有支持的目标。
$ zig targets
指定目标
在使用 zig build 或 zig build-exe 等命令时,可以使用 -Dtarget 或 -target 参数来指定目标。
$ zig build-exe main.zig -target x86_64-windows
原生目标
如果未指定目标,Zig 默认编译为当前主机的目标(native target)。