Tiny C Compiler
Tiny C Compiler (англ. Tiny C Compiler — «крошечный компилятор Си»), или TinyCC, или TCC — компилятор C для платформ x86, x86-64 и ARM. Работает в ОС Linux, KolibriOS[7], Microsoft Windows. Существуют также версии для ARM, TMS320C67xx. Распространяется по лицензии GNU LGPL. Особенности
#!/usr/local/bin/tcc -run
СовместимостьTCC поддерживает не только стандарт ANSI C, но и большую часть нового стандарта ISO C99 и многие расширения GNU C, включая ассемблерные вставки. TCC также имеет собственные расширения, например, представление чисел в двоичном коде ( История развитияTCC первоначально разрабатывался для ОС Linux, однако начиная с версии 0.9.23 (17 июня 2005) работает и в ОС Microsoft Windows. Первый вариант TCC был разработан как Obfuscated Tiny C Compiler (OTCC). OTCC — программа, написанная Фабрисом Белларом для участия в конкурсе International Obfuscated C Code Contest (IOCCC) в 2002 году[14] (на официальном сайте конкурса Фабрис Беллар с программой OTCC числится среди победителей конкурса за 2001 год[15].) С того времени Беллар значительно расширил функциональность программы и сделал её более понятной. Текущее состояниеНа данный момент проект TCC продолжает развиваться. Существует активный список рассылки, а текущая версия от Фабриса Беллара доступна через CVS. Однако, официальная разработка TCC замедлилась в связи с занятостью Беллара в других проектах. На данный момент (апрель 2012) на сайте разработчика висит сообщение, что он больше не занимается поддержкой компилятора. Роб Лендли, используя Mercurial SCM, создал версию TCC, включающую различные патчи от сторонних разработчиков. Помимо обозначенных выше, существуют и другие модификации TCC и патчи для него, такие как, неофициальная коллекция патчей от Дейва Доджа, патчи от Debian и kfreebsd, а также патчи для GCC от grischka. В версии TCC 0.9.23 была обнаружена уязвимость, получившая номера CVE-2006-0635[16] и Open Source Vulnerability Database vulnerability 22956[17]. В отчёте было сказано, что TCC «содержит ошибку, способную вызвать проблемы с безопасностью в программах, скомпилированных с его помощью. Компилятор не способен возвращать беззнаковое значение оператора См. такжеПримечания
Ссылки |
Portal di Ensiklopedia Dunia