Cosmopolitan libc - Build-Once Run-Anywhere C
(justine.lol)- Une bibliothèque qui permet d’exécuter du code C partout
→ Semblable à Java, mais sans nécessiter d’interpréteur ni de VM
→ Offre un niveau de portabilité comparable à Go/Rust, tout en utilisant le langage C tel quel
→ En compilant avec les 5 fichiers de bibliothèque fournis, le support Mac/Windows/Linux est assuré tel quel
-
Des performances au niveau de glibc
-
Utilise un format appelé ape (αcτµαlly pδrταblε εxεcµταblε)
→ Exploite le fait qu’un Windows Portable Executable peut être transformé en script shell de la 6e édition d’UNIX
→ Portable, tout en étant 100x plus petit qu’un hello world en Go
- Intègre un bootloader BIOS en interne, permettant aussi une exécution après démarrage en bare metal
5 commentaires
J’ai du mal à imaginer comment cela pourrait être utilisé. C’est amusant.
L’autrice, Justine Tunney, est une hackeuse bien connue.
https://en.wikipedia.org/wiki/Justine_Tunney
L’autrice a aussi expliqué dans un commentaire sur HN comment l’exécuter en bare metal.
https://news.ycombinator.com/item?id=25558363
On dirait bien que cela pourrait devenir une nouvelle façon de créer des outils en ligne de commande en C.
En parcourant le GitHub, j’ai trouvé les ASCII art représentant chaque OS assez marquants.
https://github.com/jart/cosmopolitan/blob/master/ape/ape.S
Les commentaires du code sont… de l’art, vraiment…
هههه، c’est génial. Au début, je me suis dit que le logo était comme ça, mais c’est à partir de MS-DOS que ça m’a vraiment impressionné.
Avec ce genre de commentaires, on a l'impression qu'ils développent vraiment juste pour le plaisir haha