Bonjour,
Je compte écrire un tuto sur la compilation. J'en ai déjà créé plusieurs (en projets perso ou pour mes études) et après les quelques expériences que j'ai pu avoir, aucun des langage de destination me satisfait.
Jusqu'à présent, j'ai pu tester :
- Le langage machine : ça fonctionne bien, pas de problème rétro-compatibilité. Seulement, ça nécessite aussi de connaître le format d'exécutable du système (ELF ou PE) et puis c'est quand même plus complexe à gérer que du x86.
- x86 : c'est celui que j'ai le moins testé (pour ne pas dire que je l'ai pas testé du tout), du coup, je suis un peu moins chaud pour celui-là. D'autant qu'il y a beaucoup de variantes différentes, ce qui aide pas en terme de choix.
- LLVM : le plus sympa à utiliser à mon sens, d'autant qu'il permet de faire plus que tous les autres (optimiser pas mal le code produit, traduire le code dans d'autres langages). Le gros point noir, c'est qu'il a tendance à casser la rétro-compatibilité assez facilement. Je me rappelle avoir eu des problèmes parce que je regardais la doc de la dernière version (3.7) alors que j'avais la version précédente (3.6) et que la syntaxe avait en partie changée.
- Assembleur custom à exécuter sur une VM custom : ça peut être très simple à générer et on peut simplifier les points non triviaux (entrées-sorties ou gestion des registres). Le problème, c'est qu'il faut le créer aussi et que ça permet pas de linker avec des librairies externes.
Du coup, si vous avez des avis, des conseils ou d'autres propositions, je suis preneur.
+0
-0