Cosmopolitan 3.0 : Écrivez une fois, exécutez partout (et plus vite !)

2025-02-01
Cosmopolitan 3.0 : Écrivez une fois, exécutez partout (et plus vite !)

La bibliothèque Cosmopolitan version 3.0 est arrivée ! Après près d’un an de développement, cette version révolutionne la donne. Un seul exécutable s’exécute désormais sur les architectures AMD64 et ARM64 sous Linux, macOS, Windows, FreeBSD, OpenBSD et NetBSD. Ceci est rendu possible grâce à un nouveau lieur, apelink.c, qui tisse habilement ensemble les formats de fichiers PE, ELF, Mach-O et PKZIP. Cosmopolitan 3.0 offre également des améliorations considérables de la compatibilité avec Windows et macOS, ainsi que des gains significatifs en vitesse et en efficacité mémoire. Une « distribution Linux volumineuse », Cosmos, est incluse, contenant des outils tels que Emacs, Vim et CoreUtils. Cette approche novatrice offre non seulement une portabilité inégalée, mais aussi des performances supérieures.

Lire plus
Développement exécutable

Interprète de Calcul Lambda Binaire en 383 Octets

2025-01-15
Interprète de Calcul Lambda Binaire en 383 Octets

Cet article de blog présente une nouvelle implémentation de 383 octets d'un interpréteur de calcul lambda binaire sous forme d'un exécutable ELF Linux x86-64. Ce minuscule interpréteur parvient à réaliser le ramassage des ordures, des listes paresseuses et la récursion terminale. Les programmes sont codés dans un format binaire remarquablement petit ; par exemple, son évaluateur métacirculaire ne fait que 232 bits. L'auteur fournit du code C portable et des binaires précompilés pour d'autres plates-formes. Ce projet est un outil d'apprentissage amusant pour le calcul lambda et montre la possibilité d'implémenter des calculs complexes dans des environnements extrêmement contraints en termes de ressources.

Lire plus

Minimisation extrême : création d’un exécutable multiplateforme de moins de 400 octets

2025-01-07

Cet article de blog détaille des astuces d’optimisation de taille provenant du projet Cosmopolitan Libc, utilisant l’assembleur x86 et des techniques de compilation intelligentes pour réduire considérablement la taille des exécutables. Les méthodes principales abordées incluent le codage par longueur de série, les sections décentralisées, l’élimination du code mort, le codage δzd, les fonctions imbriquées et l’optimisation de printf. Résultat ? Un exécutable ELF de moins de 400 octets fonctionnant sous Linux, FreeBSD, NetBSD et OpenBSD. Cela démontre l’utilisation efficace des ressources et offre de nouvelles perspectives sur l’évolutivité des grandes bases de code.

Lire plus