Tiny C CompilerTiny C Compiler
Tiny C Compiler (tcc, tout petit compilateur C) est un compilateur C x86, x86-64 et ARM complet développé par Fabrice Bellard. Il peut être utilisé sur Unix, Linux et Microsoft Windows depuis la version 0.9.26 (du ). Il est distribué sous la licence publique générale limitée GNU (GNU LGPL). Le C ANSI et la nouvelle norme ISO C99 sont particulièrement bien supportés par tcc ; il est de plus compatible avec de nombreuses extensions GNU C, comme l'assembly inline. Cependant, rendre tcc entièrement conforme pourrait le ralentir de manière significative. Il ne fournit notamment pas les manipulations de tri-graphe (trigraph handling), les proper type, et les vérifications d'expressions. Capacités
Sa licence permet à chacun de l'utiliser, modifier, et/ou redistribuer. Il peut être utilisé pour développer des logiciels open source ou propriétaire. Histoiretcc tient ses origines de OTCC [4] (Obsfucated Tiny C Compiler, Minuscule Compilateur C Assombri), un programme que Bellard a écrit pour gagner les IOCCC (Internation Obfuscated C Code Contest) en 2002. Depuis ce jour, il l'améliora et "dés-assombrit" le programme pour produire tcc. État actuelLe développement de tcc est ralenti car Fabrice Bellard est occupé à d'autres projets. Cependant des versions modifiées existent, comme la Landley's Mercurial branch, les Dave Dodge's collection of unofficial tcc patches, Debian and kfreebsd downstream patches, et les patchs gcc de grischka[5]. La version 0.9.23 est sujette à une vulnérabilité classée CVE-2006-0635 ou Open Source Vulnerability Database vulnerability 22956. Le rapport est que tcc "contient une faille qui peut avoir des complications quant à la sécurité du programme compilé avec ce dernier. Le compilateur ne peut retourner une valeur non signée de l'opérateur sizeof, ayant pour conséquence un débordement potentiel des entiers dans les objets qu'il compile." Cette faille a été corrigée dans le fork de Rob Landley puis dans la version officielle de tcc pour la version 0.9.24. La version 0.9.25 est la première version à supporter le 64 bits. TCC a une liste de diffusion active, et la version courante de Bellard est accessible depuis git. UtilisationLes utilisations les plus connues de tcc sont :
Références
Voir aussiLiens externes |