分享最近看到的一个神奇的东西。
- Cosmopolitan Libc: build-once run-everywhere C library
- https://github.com/jart/cosmopolitan
- https://news.ycombinator.com/item?id=32529526
- https://news.ycombinator.com/item?id=27180182
cosmo libc 是一个实验性质的 C 库,可以做到代码编译一次即在 6 个操作系统上运行。( Linux, Mac OS X, Windows NT, FreeBSD, OpenBSD, and NetBSD )
注意这里说的是“一次编译,处处运行”,不是“一次编写,处处编译”,也不依赖额外的运行时。
其编译的产物是单个 APE 格式的文件。APE (αcτµαlly pδrταblε εxεcµταblε)是一个其自创的文件格式。这种格式同时是以上 6 个操作系统中合法的可执行文件格式,从而可以做到一次编译处处运行。
另外还看到有人用 cosmo libc 把 CPython 重新编译了一遍( https://ahgamut.github.io/2021/07/13/ape-python/ )。性能和功能完整性上有些许不足,但还是很震撼的。