Systems programming for Windows overlays, cross-platform factory tools, firmware test harnesses, and CyberGym native PoCs. 970 generated commands → ../../data/examples/zig-commands.jsonl
Canonical 0.17 syntax (manual analysis): zig-canonical-syntax.md
Compiler source: github.com/adybag14-cyber/zig/tree/master · sources/zig-canonical-IMPORT.md
Official: ziglang.org · stable 0.16.0 · dev 0.17 on your master
Toolchain introspection#
zig version
zig env
zig targets
zig libc
zig init # 0.17 scaffold — see zig-canonical-syntax.md
zig build --help
zig build --fetch
zig ast-check build.zig
zig fmt --check src/Build & test#
zig build
zig build -Dtarget=x86_64-windows-gnu -Doptimize=ReleaseFast
zig build run -- arg1
zig build test --summary all
zig build test --fuzz
zig build install
zig test src/main.zig
zig test src/ --test-filter hardwareEntry point is pub fn main(init: std.process.Init) !void on 0.17 — not bare main().
70+ test filters in corpus: hardware, firmware, usb, overlay, factory, etc.
Cross-compilation matrix#
| Target | Use case |
|---|---|
x86_64-windows-gnu | MinGW overlay / ticker (factory PCs) |
x86_64-windows-msvc | MSVC-linked Windows binaries |
aarch64-windows-msvc | ARM64 Windows |
x86_64-macos | Intel Mac bench tools |
aarch64-macos | Apple Silicon native |
x86_64-linux-gnu | Kali / factory Linux bench |
aarch64-linux-gnu | ARM64 Linux |
x86_64-linux-musl | Static portable tools |
wasm32-wasi | Sandbox test harness |
wasm32-freestanding | Embedded experiments |
riscv64-linux-gnu | RISC-V factory boards |
native | Host-optimized local build |
Generated: every target × 4 optimize modes + flag combinations.
zig build -Dtarget=x86_64-windows-gnu -Doptimize=ReleaseFast
zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe
zig build test -Dtarget=x86_64-linux-gnu -Doptimize=DebugBuild flags (factory / security)#
zig build -Dstrip=true
zig build -Dsingle-threaded=true
zig build -Dcpu=baseline
zig build -Dcpu=nativeSanitizers (0.17): set on module in build.zig, not legacy -fsanitize= CLI:
.sanitize_c = .full, // .off / .trap / .full
.sanitize_thread = true,C/C++ interoperability (Windows resources)#
zig cc --version
zig c++ --version
zig cc -target x86_64-windows-msvc -c driver.c
zig windres --help # .rc resources
zig dlltool --help # import libs
zig lib file.o -o out.lib
zig objcopy --helpWindows overlay pattern (e.g. SPCX ticker)#
zig build -Dtarget=x86_64-windows-gnu -Doptimize=ReleaseFast
zig build run -Dtarget=x86_64-windows
# build.zig: exe.linkLibC(), addWin32Resources(), subsystem WINDOWSTypical build.zig options agents should know:
| Flag | Meaning |
|---|---|
-Dtarget= | Cross-compile triple |
-Doptimize= | Debug / ReleaseSafe / ReleaseFast / ReleaseSmall |
-Dcpu= | baseline, native, or specific |
-Dstrip= | Strip debug symbols |
.sanitize_c = .full | ASAN/UBSAN on module (see zig-advanced-techniques.md) |
macOS builds#
zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe
zig build -Dtarget=x86_64-macos -Doptimize=ReleaseFast
zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSmallSecurity research workflow#
Advanced patterns: zig-advanced-techniques.md · snippets ../../data/examples/zig-code-snippets.jsonl
1. zig init / use existing PoC repo
2. build.zig: .sanitize_c = .full on root module, -Doptimize=Debug
3. zig build test --test-filter crash
4. zig build test --fuzz
5. zig build -Dtarget=x86_64-linux-gnu for CyberGym docker
6. Ship ReleaseSafe artifact to factory benchDependencies#
zig fetch --save git+https://github.com/ziglang/zig#master
# build.zig.zon: .dependencies, .pathsAgent eval#
- Prompts: ../../data/examples/zig-prompts.jsonl (5,820)
- Cross-platform factory: combine with windows-tooling.md deploy step
Regenerate all platform examples:
python scripts/generate-platform-examples.py