Zig 标准库、I/O 接口与并发:把知识串起来

10 分钟阅读
本文基于 Zig 0.16。 经过前五篇的旅程——语法、错误处理、内存管理、编译期计算、构建系统——现在到了收官篇,该把知识串起来了。 0.16 是两个重要版本的交汇点:标准库容器完成了 Unmanaged 迁移,同时引入了革命性的 std.Io 接口。这两个变化深刻影响了 Zig 代码的写法。本篇将围绕它们展开,最后用三语言实战对比收束,并给出学习路线和资源。
Zig 标准库 Std.Io 并发 Unmanaged 学习笔记
继续阅读 →

eBPF 开发语言之争:C、Rust 与 Zig 全链路对比

9 分钟阅读
前面几篇讲 OOM 追踪时,所有 eBPF 内核态程序都是用 C 写的。这很自然——C 是 eBPF 的"母语",verifier、CO-RE、libbpf 整个工具链都是围绕 C 设计的。但如果你关注过 eBPF 生态,会发现一个明显的趋势:越来越多的人开始用 C 以外的语言写 eBPF。Rust 的 Aya 框架已经被 Solana 验证器、Kubernetes Gateway API 用在生产环境;而 Zig 也在尝试用 comptime、显式分配和一流的 C 互操作带来新的开发体验。
EBPF Zig Rust Aya Libbpf CO-RE BPF
继续阅读 →

Zig 内存管理:显式分配器模式

6 分钟阅读
本文基于 Zig 0.16。 前几篇我们走过了 Zig 的基础语法和错误处理。现在进入 Zig 最与众不同的部分——内存管理。 如果你有 Go 或 Rust 背景,Zig 的内存哲学会让你感到陌生:它既不提供垃圾回收,也不引入所有权系统,而是选择了一条完全不同的路——分配器模式(Allocator Pattern)。这个模式的核心约定极其简单,但影响深远:
Zig 内存管理 分配器 Go Rust 学习笔记
继续阅读 →

错误处理:Go、Rust 之外的第三条路

6 分钟阅读
本文基于 Zig 0.16。 三种错误处理范式 错误处理是编程语言设计中最具争议的话题之一。Go 的多返回值、Rust 的 Result<T, E> 枚举、Zig 的错误联合类型——它们代表了三种截然不同的哲学。本文假设你已有 Go 或 Rust 经验,将以此为参照系来理解 Zig 的设计。
Zig 错误处理 Go Rust
继续阅读 →

为什么是 Zig:从 Go/Rust 视角认识一门新系统语言

7 分钟阅读
本文基于 Zig 0.16(2026-04-13 发布,当前最新稳定版)。Zig 是一门仍在快速演进的现代系统编程语言,它的源码仓库已从 GitHub 迁移到 Codeberg,官方下载页在 ziglang.org/download/。 为什么是 Zig? 如果你已经熟悉 Go 和 Rust,可能会问:为什么还要看第三门系统语言?答案很简单:Zig 填补了 Go 和 Rust 之间的空白。
Zig 系统编程 Go Rust 学习笔记
继续阅读 →

MiBeeNvr v0.7.0: 延时摄影 v2 + 小米双摄 + H.265 封装 + 发布加固

14 分钟阅读
v0.6.0 把延时摄影管道搭起来之后,社区反馈很快就指出了几个硬伤:JPEG 序列要吃掉太多存储、H.265 摄像头生成的延时片段播放不了、双摄小米设备只能抓到主镜头、偶尔还会出现 H.265 HLS 直接 panic 的崩溃。这些都不是边缘场景——双摄 CW500 和室外摄像头 4 在国内出货量很大,H.265 已经是中高端摄像头的事实标准。v0.7.0 的主线就是围绕这些反馈展开的。
NVR Go 延时摄影 小米 双摄 H.265 封装 发布加固 开源
继续阅读 →