可以一次编译处处运行的 Cosmopolitan Libc

讨论 未结 3 97
hsfzxjy
hsfzxjy 会员 2022年8月31日 13:10 发表
<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)  分享
相关标签: 灌水交流
注意:本文归作者所有,未经作者允许,不得转载
3个回复
  • codehz
    2022年8月31日 13:10
    cosmopolitan 已经自带 python 啦,不需要用第三方的( 现在也支持用 c++库了 但是用第三方库得自己改造源码) 所以实用性不是很强,但是很好玩
    0 0
  • seakingii
    2022年8月31日 15:09
    真的很神奇!我刚用官方的例子测试了 hello,同一个二进制文件,可以在 ubuntu 和 windows 10 下正确运行... 不过在 ubuntu 的 zsh 下不能运行,官方说明要用 bash -c './'
    0 0
  • Tink
    2022年8月31日 15:09
    这个编译出来尺寸会很大么?
    0 0