让1998年Transputer编译器在M1上重生
Making portable my unportable transputer C compiler

几周前,我翻出了一张存有1998年Transputer C编译器的软盘。为了在现代Macbook Air M1上运行它,我不得不面对32位与64位架构的巨大鸿沟:代码中指针与整数混用、FILE *被int替代、函数原型缺失等问题层出不穷。我选择重构代码,将原本基于字节池的伪结构替换为真正的struct,并修复了所有类型不匹配的错误。这个过程并非易事,但当我最终让这台老机器在64位系统上成功编译自身时,那种成就感无与伦比。这不仅是一次技术修复,更是一场跨越时代的代码对话。
完美主义是'能运行'的敌人,与其纠结于不扩展struct nodo,不如直接添加字段让程序跑起来。
HN 评论区
11- RodgerTheGreat
读到你的项目总是令人愉悦,Oscar。每个程序都是一颗宝石。
- initramfs
调试文件怎么会输出 8GB+?是运行了数分钟还是数小时?还是说它使用的格式包含大量富文本?我猜如果是十六进制或 Unicode 的纯文本文件,应该不会占用那么多空间……有没有办法创建分段的日志文件,从而限制其大小?