给 Zig 编译器加一个永远返回 4 的内建函数
来源:ochagavia.nl — 2026-10-23
📋 概述
受 xkcd 那格「随机数」漫画启发,加上真有人拿数字 4 当密钥出了安全事故,作者决定给 Zig 加一个 @xkcdRandom 内建函数,作用就是返回 4。他真正的目的不是产出代码而是学习:内建函数必须改编译器,正好摸一遍生产级 Zig 代码。整个过程意外顺手,一条命令一分钟左右就能从源码编译出编译器,LLM 帮他定位到定义内建的文件,改动只有 22 行,编出的程序如期打印出两个 4。
🔑 核心要点
- 这个内建函数的行为就是永远返回 4,作者的说法是先拿它去开一家独角兽公司
- 选内建而不是普通函数,是因为普通函数太无聊,他要的是学习而不是产出
- 从源码构建 Zig 只需 zig build 一条命令,一分钟左右完成,后续增量更快
- 整个改动只有 22 行,改完后程序输出了 100% 保证随机的「4, 4」
- 作者的结论是给 Zig 编译器打补丁比想象中简单,接下来想找个真实的编译器 issue 来做
💡 金句
There's one very big drawback to this approach: it's boring.
👍 0
👎 0
← 返回 Lobsters 首页