可以一次编译处处运行的 Cosmopolitan Libc
<p>分享最近看到的一个神奇的东西。</p>
<ul>
<li><a href="https://justine.lol/cosmopolitan/" rel="nofollow">Cosmopolitan Libc: build-once run-everywhere C library</a></li>
<li><a href="https://github.com/jart/cosmopolitan" rel="nofollow">https://github.com/jart/cosmopolitan</a></li>
<li><a href="https://news.ycombinator.com/item?id=32529526" rel="nofollow">https://news.ycombinator.com/item?id=32529526</a></li>
<li><a href="https://news.ycombinator.com/item?id=27180182" rel="nofollow">https://news.ycombinator.com/item?id=27180182</a></li>
</ul>
<p>cosmo libc 是一个实验性质的 C 库,可以做到代码编译一次即在 6 个操作系统上运行。( Linux, Mac OS X, Windows NT, FreeBSD, OpenBSD, and NetBSD )</p>
<p>注意这里说的是<strong>“一次编译,处处运行”</strong>,不是“一次编写,处处编译”,也不依赖额外的运行时。</p>
<p>其编译的产物是单个 APE 格式的文件。APE (αcτµαlly pδrταblε εxεcµταblε)是一个其自创的文件格式。这种格式<strong>同时是以上 6 个操作系统中合法的可执行文件格式</strong>,从而可以做到一次编译处处运行。</p>
<p>另外还看到有人用 cosmo libc 把 CPython 重新编译了一遍( <a href="https://ahgamut.github.io/2021/07/13/ape-python/" rel="nofollow">https://ahgamut.github.io/2021/07/13/ape-python/</a> )。性能和功能完整性上有些许不足,但还是很震撼的。</p>
收藏(0)
分享
相关标签:
注意:本文归作者所有,未经作者允许,不得转载
-
2022年8月31日 15:09
真的很神奇!我刚用官方的例子测试了 hello,同一个二进制文件,可以在 ubuntu 和 windows 10 下正确运行...
不过在 ubuntu 的 zsh 下不能运行,官方说明要用 bash -c './'
0
0
-
2022年8月31日 15:09
这个编译出来尺寸会很大么?
0
0