Ouvrir le menu principal

MacGeneration

Recherche

Programmer en Rust pour Mac OS 9, c'est possible

Pierre Dandumont

mercredi 25 janvier 2023 à 08:30 • 3

macOS

Dans un post sur Twitter, Bastian a montré une image qui va faire plaisir aux aficionados des versions classiques de Mac OS. En effet, il a réussi à lancer un programme conçu en Rust sur le vénérable OS d'Apple, abandonné en 2001.

Le résultat des essais de Bastian.

Rust est un langage de programmation moderne et assez récent, il a été pensé à partir de 2006 et dévoilé officiellement par Mozilla — employeur du concepteur — en 2010. Pour exécuter un programme conçu dans ce langage sur un Mac des années 90, il faut donc ruser un peu. Il n'y a pas de CodeWarrior ici (et encore moins de Xcode, évidemment), mais un passage par un programme open source, w2c2. Ce dernier permet de convertir le code WebAssembly vers le C, et il prend en charge les PowerPC 32 bits.

Plusieurs étapes nécessaires

Le lien avec Rust n'est donc pas totalement direct : WebAssembly est une norme qui se base sur un bytecode, un peu comme le Java. Il s'agit d'un code intermédiaire, indépendant de la plateforme, qui peut être exécuté à travers un interpréteur qui peut être un navigateur. Mais ce bytecode peut aussi être converti pour être exécuté directement, ce que fait le programme w2c2.

Pour obtenir le résultat montré en image sous Mac OS 9, il faut donc d'abord compiler le code Rust pour obtenir du bytecode WebAssembly (par exemple avec Emscripten) et ensuite convertir le résultat obtenu en C, pour une exécution sous Mac OS 9. Comme w2c2supporte officiellement les PowerPC, il a probablement été modifié pour prendre en charge les anciens OS Apple ou pour générer du code Carbon, compatible avec Mac OS 9 mais aussi Mac OS X. Et même si c'est totalement inutile, c'est tout de même assez amusant.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

L'émulateur de Wii U, Cemu, passe à Metal et double ses performances sur Mac

22/12/2025 à 18:50

• 8


Comment Amazon a repéré un prestataire nord-coréen à cause de sa latence de clavier

22/12/2025 à 17:09

• 9


Cyberattaque : les sites et apps de la Poste et de la Banque Postale inaccessibles 🆕

22/12/2025 à 16:13

• 42


Votre meilleur allié pour 2026 n'est pas un nouveau Mac, c'est ce siège ergonomique (Code Promo) 📍

22/12/2025 à 15:49

• 0


Bouygues prévient que son offre Pure Fibre augmentera de 1 € à partir du 5 janvier

22/12/2025 à 15:20

• 36


macOS 26.2 corrige le bug de connexion iCloud dans les machines virtuelles

22/12/2025 à 13:01

• 1


Sept ans et demi après le Mac, Steam passe au 64 bits sous Windows

22/12/2025 à 10:48

• 13


Sécurité : Apple abandonne iOS 18 sur les terminaux compatibles iOS 26

22/12/2025 à 08:48

• 110


Crucial écoule ses stocks de SSD Externe : 1 To dès 80 €, 2 To dès 133 €, 4 To dès 240 €

21/12/2025 à 23:55

• 28


Air France confirme Starlink sur toute sa flotte fin 2026 : critiquable, mais quel autre choix ?

21/12/2025 à 20:30

• 228


MacBook Air M2 : le modèle 16 Go à 729 €, (presque) son plus bas historique ! 🆕

20/12/2025 à 16:30

• 98


L'iPhone Fold pourrait avoir un format surprenant pour un appareil à écran pliable 🆕

20/12/2025 à 16:07

• 95


MacGeneration : le point sur la santé économique du site

20/12/2025 à 10:30

• 150


Quel pourrait être l'impact de la RAMpocalypse sur Apple ?

20/12/2025 à 09:00

• 45


Sortie de veille : que retenir des grosses fuites sur les projets secrets d’Apple ?

20/12/2025 à 08:00

• 3


Dans les aéroports, les AirTags font chuter drastiquement le nombre de bagages définitivement perdus

20/12/2025 à 07:50

• 23