<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>系统编程 on PlumePHP</title><link>https://plumephp.com/categories/%E7%B3%BB%E7%BB%9F%E7%BC%96%E7%A8%8B/</link><description>Recent content in 系统编程 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 07 Oct 2026 21:40:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/categories/%E7%B3%BB%E7%BB%9F%E7%BC%96%E7%A8%8B/index.xml" rel="self" type="application/rss+xml"/><item><title>Zig 终端 TUI 开发：终端控制、布局与交互</title><link>https://plumephp.com/zig-tui-terminal-apps/</link><pubDate>Wed, 07 Oct 2026 21:40:00 +0800</pubDate><guid>https://plumephp.com/zig-tui-terminal-apps/</guid><description>终端 UI 没有 DOM、没有绘制 API，只有一串字节流。本文用 Zig 从 termios raw 模式与 ANSI 转义序列讲起，实现差分刷新、Unicode 宽度计算、约束式布局、按键与鼠标解析，并处理 SIGWINCH 与终端能力协商。</description></item><item><title>Zig 打包与分发：容器镜像、系统包与 Homebrew</title><link>https://plumephp.com/zig-packaging-distribution/</link><pubDate>Wed, 07 Oct 2026 21:39:00 +0800</pubDate><guid>https://plumephp.com/zig-packaging-distribution/</guid><description>Zig 产出的是零依赖静态二进制，这让分发路径比多数语言简单得多。本文覆盖 musl 静态链接与交叉编译矩阵、scratch/distroless 容器镜像与多架构 manifest、deb/rpm/Arch 打包、Homebrew formula，以及 CI 矩阵发布与校验签名。</description></item><item><title>Zig GPU 计算：Vulkan Compute 与着色器绑定</title><link>https://plumephp.com/zig-gpu-compute-vulkan/</link><pubDate>Wed, 07 Oct 2026 21:38:00 +0800</pubDate><guid>https://plumephp.com/zig-gpu-compute-vulkan/</guid><description>Vulkan 不只是图形 API，它的 compute queue 能直接做通用计算，且跨 NVIDIA/AMD/Intel/移动 GPU。本文用 Zig 走完 instance/device 初始化、设备内存分配、描述符集绑定、SPIR-V 管线与命令提交，并给出向量加法的完整代码与性能调优要点。</description></item><item><title>Zig WASI 与组件模型：沙箱运行时与宿主嵌入</title><link>https://plumephp.com/zig-wasi-component-model/</link><pubDate>Wed, 07 Oct 2026 21:37:00 +0800</pubDate><guid>https://plumephp.com/zig-wasi-component-model/</guid><description>WASI 给 WebAssembly 补上了系统调用接口，组件模型又在其上定义了强类型、可组合的接口。本文讲清 wasm32-wasi 与 freestanding 的差别、preview1 的能力模型与 preopens、preview2 的 WIT 与 Canonical ABI，并演示在 Zig 宿主里嵌入 wasmtime 与做资源限制。</description></item><item><title>Zig 与 HTTP/3、QUIC：UDP 传输与协议实现</title><link>https://plumephp.com/zig-http3-quic/</link><pubDate>Wed, 07 Oct 2026 21:36:00 +0800</pubDate><guid>https://plumephp.com/zig-http3-quic/</guid><description>QUIC 把可靠传输、加密握手与多路复用全部搬到用户态，跑在 UDP 之上。本文用 Zig 拆解 QUIC 的包格式、变长整数、TLS 1.3 集成与头部保护，说明 HTTP/3 的 QPACK 映射，并给出 UDP GSO/GRO 批处理与连接迁移的工程实践。</description></item><item><title>Zig 与 Linux io_uring：异步 IO 与高性能服务</title><link>https://plumephp.com/zig-io-uring-linux-io/</link><pubDate>Wed, 07 Oct 2026 21:35:00 +0800</pubDate><guid>https://plumephp.com/zig-io-uring-linux-io/</guid><description>io_uring 用共享内存环形队列替代 epoll 的「就绪通知」模型，把系统调用开销压到接近零。本文用 Zig 从 mmap 环形缓冲区开始，逐步实现 SQE 提交、CQE 收割、注册缓冲区与 SQPOLL，并给出高性能服务的多 ring 架构与选型建议。</description></item><item><title>Zig 时间、日期与时区处理：std.time 与 epoch 换算</title><link>https://plumephp.com/zig-time-date-handling/</link><pubDate>Mon, 05 Oct 2026 15:00:00 +0800</pubDate><guid>https://plumephp.com/zig-time-date-handling/</guid><description>时间处理是系统编程最容易出错的部分：墙钟与单调时钟混用、时区与夏令时、闰年与闰秒、2038 问题。本文讲解 std.time 的完整 API 家族、Instant 与 Timer 的单调计时、std.time.epoch 的日期换算、ISO 8601 与 RFC 3339 的格式化与解析、UTC 偏移与时区处理策略，以及定时器与调度循环的工程写法。</description></item><item><title>Zig 插件系统与动态加载：C ABI 契约、热重载与错误隔离</title><link>https://plumephp.com/zig-plugin-dynamic-loading/</link><pubDate>Mon, 05 Oct 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/zig-plugin-dynamic-loading/</guid><description>用 Zig 构建插件系统：std.DynLib 运行时加载共享库、导出 C ABI 接口、版本化契约与 ABI 校验、插件注册表与生命周期管理、符号可见性控制、免重启热重载、.so/.dylib/.dll 跨平台差异，以及在同地址空间下如何做错误隔离与崩溃防护。</description></item><item><title>Zig 机器学习推理：张量、GEMM 与 int8 量化</title><link>https://plumephp.com/zig-ml-inference/</link><pubDate>Mon, 05 Oct 2026 13:00:00 +0800</pubDate><guid>https://plumephp.com/zig-ml-inference/</guid><description>用 Zig 从零实现一个可用的神经网络推理引擎：张量表示与 NCHW 内存布局、分块加 SIMD 的 GEMM 内核、激活函数与 softmax 的数值稳定实现、im2col 卷积、int8 对称量化与整数 GEMM，以及 ONNX 模型加载思路与与 Python 训练侧的对接方式。</description></item><item><title>Zig HTTP 客户端与 REST 集成：std.http.Client 实战</title><link>https://plumephp.com/zig-http-client/</link><pubDate>Mon, 05 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/zig-http-client/</guid><description>Zig 标准库自带 HTTP 客户端：std.http.Client 支持 HTTPS、连接池、重定向与流式响应。本文讲解 fetch 高层 API 与 open 低层 API 的区别、请求构建与头部管理、TLS 证书包初始化、JSON 收发与 std.json 集成、超时与重试策略、并发请求的线程模型，以及一个可复用的客户端封装设计。</description></item><item><title>Zig 自定义分配器：从 Allocator 接口到内存池与组合</title><link>https://plumephp.com/zig-custom-allocators/</link><pubDate>Mon, 05 Oct 2026 11:00:00 +0800</pubDate><guid>https://plumephp.com/zig-custom-allocators/</guid><description>Zig 把内存分配显式化为一个可替换的接口：std.mem.Allocator 的 vtable 设计让 Arena、FixedBuffer、GPA、栈回退与内存池都能自由组合。本文讲解 Allocator 接口的本质与 vtable 结构、标准分配器家族的适用场景、GPA 的元数据与泄漏检测机制、如何从零编写自定义分配器、分配器包装（计数/日志/失败注入）以及真实项目中的场景化选型。</description></item><item><title>Zig SIMD 与向量化：@Vector 类型、内置函数与跨平台实战</title><link>https://plumephp.com/zig-simd-vectorization/</link><pubDate>Mon, 05 Oct 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-simd-vectorization/</guid><description>Zig 把 SIMD 作为语言一等公民：@Vector 类型、逐元素运算、@reduce 归约、@shuffle 重排、@select 选择都由编译器映射到 SSE/AVX/NEON 指令。本文讲解向量类型与内存布局、向量化内置函数家族、自动向量化的成立条件、矩阵乘法与字节扫描实战、对齐与跨平台策略，以及如何用 std.time.Timer 做严谨的基准对比。</description></item><item><title>Zig GUI 与图形编程：窗口、SDL 绑定与 OpenGL 渲染循环</title><link>https://plumephp.com/zig-gui-graphics/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/zig-gui-graphics/</guid><description>Zig 没有官方 GUI 库，但凭借零成本 C 互操作可无缝对接 SDL2、GLFW 与 OpenGL 等成熟图形栈。本文从创建窗口、事件循环、OpenGL 上下文加载讲起，覆盖着色器编译、VAO/VBO 顶点上传、纹理加载、帧同步与跨平台构建配置，并给出可编译的完整渲染循环示例。</description></item><item><title>Zig TLS 与 HTTP/2：安全连接、证书与协议栈</title><link>https://plumephp.com/zig-tls-http2-networking/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/zig-tls-http2-networking/</guid><description>Zig 标准库内置 TLS 1.3 客户端与密码学原语，无需链接 OpenSSL 即可建立安全连接。本文讲解 X.509 证书与密钥体系、std.crypto 的对称与非对称加密、TLS 1.3 握手流程、std.crypto.tls 客户端用法，并深入 HTTP/2 的帧结构、HPACK 头压缩与多路复用，最后给出证书校验与连接复用实践。</description></item><item><title>Zig 文本处理：Unicode、正则与高性能字符串</title><link>https://plumephp.com/zig-text-processing/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/zig-text-processing/</guid><description>文本处理看似简单，实则暗藏 Unicode 编码、字素簇、规范化与内存分配等陷阱。本文讲解 UTF-8 编码原理、码点与字素簇的区别、Zig 标准库的字符串切片与遍历 API、大小写转换与 NFC 规范化、正则表达式引擎实现、分词与搜索，并给出日志解析与 CSV 处理的高性能实战。</description></item><item><title>Zig 游戏开发实战：raylib、ECS 架构与游戏循环</title><link>https://plumephp.com/zig-game-development/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/zig-game-development/</guid><description>Zig 编译快、无 GC、可交叉编译到全平台，非常适合独立游戏开发。本文以 raylib 为渲染层，讲解游戏循环与固定时间步、数据导向的 ECS 架构设计与实现、组件存储布局、实体生命周期、碰撞检测、资源与音频管理，以及多平台打包发布流程。</description></item><item><title>Zig 算法与数据结构实战：哈希表、树、图与排序</title><link>https://plumephp.com/zig-algorithms-data-structures/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/zig-algorithms-data-structures/</guid><description>Zig 标准库提供了 ArrayList、HashMap、PriorityQueue 等基础容器，但理解其内部实现才能选对结构。本文手写开放寻址哈希表、二叉搜索树、二叉堆、邻接表图，讲解 BFS/DFS、拓扑排序与快速排序的 Zig 实现，并给出 LRU 缓存与并查集两个综合案例。</description></item><item><title>Zig 解析器与编译器前端：词法分析、递归下降与 AST</title><link>https://plumephp.com/zig-parser-compiler/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/zig-parser-compiler/</guid><description>Zig 的标签联合、编译期反射与无 GC 特性，使它成为手写编译器前端的理想语言。本文从零实现一个表达式语言的词法分析器、AST 定义、递归下降解析器与 Pratt 表达式解析，覆盖符号表、语义检查、错误恢复与错误报告，最后接一个树遍历解释器跑通端到端流程。</description></item><item><title>Zig 可观测性：结构化日志、OpenTelemetry 与指标采集</title><link>https://plumephp.com/zig-observability-logging/</link><pubDate>Thu, 01 Oct 2026 11:00:00 +0800</pubDate><guid>https://plumephp.com/zig-observability-logging/</guid><description>可观测性是现代分布式系统的核心能力。本文系统讲解 Zig 中 std.log 接口的自定义扩展、JSON 结构化日志输出、日志轮转策略、OpenTelemetry trace 与 metric 的 SDK 集成、Prometheus Pull 模型端点实现，以及 gauge/counter/histogram 指标类型的工程实践，帮助开发者构建完整的 Zig 服务可观测体系。</description></item><item><title>Zig WebSocket 与实时通信：服务端推送与帧解析</title><link>https://plumephp.com/zig-websocket-realtime/</link><pubDate>Thu, 01 Oct 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-websocket-realtime/</guid><description>WebSocket 是全双工实时通信的核心协议。本文系统讲解 WebSocket 握手升级、帧结构二进制解析（FIN/opcode/mask/payload）、Zig 实现高效服务端、心跳 ping/pong 保活、广播与房间模型的并发设计、与现有 HTTP 服务共存方案，以及支持多客户端的完整工程实践。</description></item><item><title>Zig 数据库访问与轻量 ORM：SQLite、PostgreSQL 与自定义 SQL</title><link>https://plumephp.com/zig-database-orm/</link><pubDate>Wed, 30 Sep 2026 23:00:00 +0800</pubDate><guid>https://plumephp.com/zig-database-orm/</guid><description>Zig 通过 C ABI 绑定可无缝调用 SQLite 和 PostgreSQL，配合参数化查询防注入、连接池设计与事务封装，构建安全高效的数据库访问层。本文系统讲解 SQLite CRUD、PostgreSQL 连接池、轻量 ORM 结构体映射、迁移脚本设计与连接生命周期管理。</description></item><item><title>Zig 密码学与安全编程：AES、ChaCha20Poly1305 与 TLS</title><link>https://plumephp.com/zig-crypto-security/</link><pubDate>Wed, 30 Sep 2026 22:00:00 +0800</pubDate><guid>https://plumephp.com/zig-crypto-security/</guid><description>Zig 标准库内置了现代密码学原语模块 std.crypto，涵盖对称加密、AEAD、哈希、密钥派生、随机数生成等能力。本文系统讲解 AES-GCM 与 ChaCha20Poly1305 加解密、mbedtls-zig TLS 1.3 握手、Argon2/Scrypt 密钥派生、安全随机数生成与密码学最佳实践，帮助开发者构建安全可靠的 Zig 应用。</description></item><item><title>Zig 调试与性能分析：GDB、LLDB、perf 与 Valgrind</title><link>https://plumephp.com/zig-debugging-profiling/</link><pubDate>Wed, 30 Sep 2026 21:00:00 +0800</pubDate><guid>https://plumephp.com/zig-debugging-profiling/</guid><description>系统级编程离不开调试与性能分析。本文系统讲解 Zig 程序在 Debug/ReleaseSafe/ReleaseFast 模式下的调试体验差异、GDB 与 LLDB 断点步进、zig-gdb pretty printers、基于 perf 的采样分析与火焰图、Valgrind memcheck 内存错误定位，以及 std.log 日志级别与崩溃堆栈回溯的实用技巧。</description></item><item><title>Zig 包管理与生态系统：zig fetch、Zon 文件与第三方库</title><link>https://plumephp.com/zig-package-ecosystem/</link><pubDate>Wed, 30 Sep 2026 20:00:00 +0800</pubDate><guid>https://plumephp.com/zig-package-ecosystem/</guid><description>Zig 0.11+ 引入 build.zig.zon 进行声明式依赖管理，配合 zig fetch 下载缓存、路径依赖与版本锁定，形成现代包管理方案。本文系统讲解 Zon 文件格式、git/tarball 依赖获取、常用第三方库选型、本地包开发流程与 zyg 包管理器，帮助开发者高效管理 Zig 项目依赖。</description></item><item><title>C→Zig 渐进迁移实战：translate-c、模块化与模式对比</title><link>https://plumephp.com/zig-migrate-c-to-zig/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-migrate-c-to-zig/</guid><description>把 C 项目渐进迁移到 Zig 是降低维护成本、获得内存安全的现实路径。本文系统讲解迁移策略（绿色字段 vs 渐进）、translate-c 自动转换、@cImport 混合编译、C 与 Zig 类型/指针/错误/内存模型对比、逐模块迁移的边界设计，以及构建系统双语言集成的完整工作流。</description></item><item><title>Zig CLI 工具开发：参数解析、终端输出与打包分发</title><link>https://plumephp.com/zig-cli-application/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-cli-application/</guid><description>Zig 是构建命令行工具的理想语言：静态编译、零运行时依赖、跨平台分发。本文系统讲解 CLI 程序骨架与退出码、std.process.args 参数解析、std.cli.Args 迭代器、自定义解析 vs 第三方库、ANSI 终端彩色输出、标准输入读取、环境变量与配置，以及静态二进制打包与交叉编译分发。</description></item><item><title>Zig HTTP 服务开发：std.http.Server 与并发处理</title><link>https://plumephp.com/zig-http-server/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-http-server/</guid><description>Zig 标准库自带 HTTP 服务端与客户端。本文系统讲解 std.http.Server 的最小服务、请求解析、路由与响应、静态文件服务、并发连接处理（线程池）、结合 async/io_uring 的异步模型，以及 TLS、超时与生产部署注意点。</description></item><item><title>Zig JSON 与序列化：std.json 解析、序列化与自定义类型</title><link>https://plumephp.com/zig-json-serialization/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-json-serialization/</guid><description>Zig 标准库的 std.json 提供零依赖的 JSON 解析与序列化。本文系统讲解 Value 解析树、parseFromSlice 到强类型结构体、stringify 序列化、自定义序列化接口（JsonStringify）、容错解析、分配器生命周期与性能考量，以及配置文件/API 通信的实战模式。</description></item><item><title>Zig 数据存储实战：SQLite 绑定与嵌入式数据库</title><link>https://plumephp.com/zig-sqlite-storage/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-sqlite-storage/</guid><description>SQLite 是嵌入式数据库的事实标准，Zig 通过 C ABI 无缝调用 sqlite3。本文系统讲解 @cImport 绑定、数据库打开与初始化、参数绑定与预编译语句、结果集遍历、事务与 WAL 模式、连接与分配器生命周期，以及把查询结果映射到 Zig 结构体的工程实践。</description></item><item><title>Zig 测试与代码质量：单元测试、基准测试与模糊测试</title><link>https://plumephp.com/zig-testing-quality/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-testing-quality/</guid><description>Zig 把测试、基准和模糊测试内建到语言与构建系统中。本文系统讲解 zig test 与 test 块、std.testing 断言家族、testing.allocator 内存泄漏检测、测试的组织与引用、基准测试方法论、libFuzzer 模糊测试，以及测试在 build.zig 与 CI 中的集成实践。</description></item><item><title>Zig 嵌入式开发：交叉编译与 MCU 裸机实践</title><link>https://plumephp.com/zig-embedded-cross-compile/</link><pubDate>Sat, 26 Sep 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/zig-embedded-cross-compile/</guid><description>本文讲解 Zig 在嵌入式领域的交叉编译能力：ARM/RISC-V 目标配置、build.zig 多目标构建流程、MCU 裸机寄存器编程（STM32 GPIO/UART/SysTick），并对比主流硬件平台与烧录调试工具链。</description></item><item><title>Zig 裸机开发：从零编写最小内核</title><link>https://plumephp.com/zig-baremetal-osdev/</link><pubDate>Sat, 26 Sep 2026 13:00:00 +0800</pubDate><guid>https://plumephp.com/zig-baremetal-osdev/</guid><description>本文用 Zig 从零编写一个 x86-64 最小内核：freestanding 编译环境、链接脚本、无 std 的 VGA/串口输出、GDT/IDT 与中断处理、Multiboot2 启动，以及 QEMU 调试工作流。</description></item><item><title>Zig 高级 FFI：动态库、回调、内存布局与 C++ ABI</title><link>https://plumephp.com/zig-advanced-ffi/</link><pubDate>Sat, 26 Sep 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/zig-advanced-ffi/</guid><description>本文进阶 Zig 的 C 互操作能力：std.DynLib 动态库加载、回调函数与上下文、extern/packed struct 内存布局对齐、与 C++ ABI 的桥接，以及 zig translate-c 头文件翻译的实战与限制。</description></item><item><title>Zig 并发与原子操作：线程、同步与消息传递</title><link>https://plumephp.com/zig-concurrency-atomics/</link><pubDate>Sat, 26 Sep 2026 11:00:00 +0800</pubDate><guid>https://plumephp.com/zig-concurrency-atomics/</guid><description>本文深入 Zig 的并发原语：std.Thread 线程模型、Mutex/Condition/RwLock 同步、std.atomic.Value 原子类型与内存序，以及消息传递模式与锁竞争优化，最后给出基准对比。</description></item><item><title>Zig std 标准库容器：从 ArrayList 到 HashMap</title><link>https://plumephp.com/zig-std-data-structures/</link><pubDate>Sat, 26 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-std-data-structures/</guid><description>本文系统讲解 Zig 标准库的容器家族：ArrayList/StringArrayList、HashMap/StringHashMap、ArrayHashMap/StringArrayHashMap 的 API、容量管理、内存所有权与迭代排序实践，并给出综合的词频统计示例。</description></item><item><title>Zig 编译期编程：comptime 深度指南</title><link>https://plumephp.com/zig-comptime-programming/</link><pubDate>Sat, 26 Sep 2026 09:00:00 +0800</pubDate><guid>https://plumephp.com/zig-comptime-programming/</guid><description>comptime 是 Zig 最核心也最独特的语言特性。本文深入讲解编译期求值模型、编译期类型生成与反射、编译期字符串处理、编译期递归，以及泛型、编译期派发、静态查找表等常见模式的工程实践。</description></item><item><title>Zig 与 C 语言互操作实战</title><link>https://plumephp.com/zig-c-interoperability/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-c-interoperability/</guid><description>Zig 内置了 C 语言翻译器，可以直接导入 C 头文件并生成 Zig 绑定。本文详解 @cImport/@cInclude、类型映射、指针转换、回调函数处理以及将 Zig 库暴露给 C 调用方的完整流程。</description></item><item><title>Zig 内存管理与分配器模式</title><link>https://plumephp.com/zig-memory-management/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-memory-management/</guid><description>Zig 采用显式内存管理策略，核心创新在于将内存分配器作为参数传递。本文深入讲解堆分配器类型、Arena 分配、栈内存使用、内存泄漏防范以及自定义分配器的实现方法。</description></item><item><title>Zig 系统编程实战</title><link>https://plumephp.com/zig-system-programming/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/zig-system-programming/</guid><description>本文通过文件操作、进程管理、网络套接字和信号处理四个维度，展示如何用 Zig 编写健壮的系统级程序。涵盖标准库 API、权限管理和跨平台兼容性处理。</description></item></channel></rss>