Anton Zhiyanov 讲述他把名为 Solod 的 Go 子集(可转译成 C)推进到「无宿主」模式的过程。Solod 目前有 37 个标准库包,其中 31 个能在 freestanding 模式下工作——即在没有 libc、没有操作系统运行时的环境下独立运行。文章系统讲解了为此采用的技巧:freestanding 头文件、内建函数、内存与原子操作、纯 C、分配器、值表示、钩子等,这些技术对微控制器、WebAssembly 沙箱和内核开发尤其有用。
Solod 拥有 37 个标准库包,其中 31 个支持 freestanding 模式。-ffreestanding 与 -nostdlib 即可进入该环境。