Hi all,
TCC : the Tiny C Compiler
Je ne pensais pas avoir à revenir au C de si tôt, mais voilà, j'ai dut modifier des vieilles applications. Mais je rencontrais des difficultés pour réinstaller GCC sous Windows sans installer MingW, et de plus je ne démord pas de trouver GCC beaucoup trop lourd.
Alors je me suis souvenu de TCC sous Linux, et j'ai eu la bonne surprise de découvrir qu'il existe maintenant aussi pour Windows.
TCC the Tiny C Compiler - par Fabrice Bellard
Pour vous faire une idée : il ne nécéssite pas de programme installation, juste un fichier à décompresser et à copier (pensez tout de même à vos variables d'environnement). L'installation ne pèse en tout et pour tout que 1.2M pour tout le compilateur, le lieur et les entêtes (je dis bien 1.2, et non pas 12). Question code produit, chez moi, les executables compilés avec TCC sont environ 10 fois plus petits que ceux produits par GCC. Et que dire de la compilation qui s'execute aussi vite que l'appuie sur la touche entrée (instantané)....
TCC est fourni avec les fichiers *.def des trois principale dll de Windows, mais pas avec les libs. Je vous transmet donc en pièce jointe le programme que j'utilise (issu de LCC que je n'utilise plus, mais j'ai conservé cet utilitaire) pour générer les libs (le plus commode à mon avis)
Note: le lieur de TCC ne permet pas de faire des liaisons directes vers les DLL, et nécéssite obligatoirement la passage par une librairie.
La compilation se fait un peu à la Borland, c'est à dire qu'il fait le ménage aprés chaque compilation. Tout est propre, pas de nettoyage à faire.
TCC est la preuve qu'en soignant une application, elle peut être trés légère, trés rapide, tout en fournissant tout ce qu'on en attend... pour peu qu'on prenne le soin de ne pas reposer sur une usine à gaz. Et il faut reconnaître qu'au regard du paysage actuel, TCC a l'allure d'un petit miracle.
Gageons que TCC, en plus de vous fournir un compilateur produisant des binaires légers, en toute simplicité, vous donnera envie de vous poser des questions utiles sur la différence GCC/TCC (poid, consomation de resource, complexité, etc).
Bonnes scéances de compilation, et amusez-vous bien
P.S. Pour générer par exemple la librairie pour gdi32 avec buildlib, faites "buildlib gdi32.def gdi32.a gdi32.dll". TCC fourni son générateur de fichiers *.def
P.P.S. Si quelqu'un(e) sait comment intégrer ce compilateur à FreePascal, ça m'interesse.
Partager