Cosmopolitan libc – Build-Once, Run-Anywhere-C
(justine.lol)- Eine Bibliothek, mit der sich C-Code überall ausführbar machen lässt
→ Ähnlich wie Java, aber ohne Interpreter oder VM
→ Bietet Portabilität auf dem Niveau von Go/Rust, verwendet aber weiterhin unverändertes C
→ Wenn man mit den bereitgestellten fünf Bibliotheksdateien kompiliert, wird macOS/Windows/Linux direkt unterstützt
-
Geschwindigkeit auf glibc-Niveau
-
Verwendet ein Format namens ape (αcτµαlly pδrταblε εxεcµταblε)
→ Nutzt die Tatsache, dass sich ein Windows Portable Executable in ein Shellskript der UNIX 6th Edition verwandeln lässt
→ Portabel, aber 100x kleiner als ein Hello-World in der Go-Version
- Enthält intern einen BIOS-Bootloader und kann daher auch nach dem Bare-Metal-Boot ausgeführt werden
5 Kommentare
Ich kann mir kaum vorstellen, wie das eingesetzt werden könnte. Interessant.
Die Autorin Justine Tunney ist eine bekannte Hackerin.
https://en.wikipedia.org/wiki/Justine_Tunney
Wie man es auf Bare Metal ausführt, hat die Autorin in einem Kommentar auf HN erklärt.
https://news.ycombinator.com/item?id=25558363
Es scheint, als könnte das eine neue Art sein, Kommandozeilen-Tools in C zu bauen.
Ich habe ein wenig auf GitHub herumgestöbert … Die ASCII-Art-Darstellungen der einzelnen Betriebssysteme darin sind beeindruckend.
https://github.com/jart/cosmopolitan/blob/master/ape/ape.S
Die Kommentare im Code sind ... Kunst ... Kunst ...
Hahaha, sehr cool. Zuerst dachte ich mir beim Logo nur so "na gut", aber ab MS-DOS war ich wirklich beeindruckt.
Weil da solche Kommentare drinstehen, hat man irgendwie wirklich das Gefühl, dass das aus echtem Spaß am Entwickeln gemacht wird, haha.