Tiny C Compiler
Tiny C Compiler (англ. Tiny C Compiler — крошечный компилятор Си), или TinyCC, или TCC — компилятор C для платформы x86.
Работает в ОС Linux, KolibriOS [1] , Microsoft Windows. Существуют также версии для ARM, TMS320C67xx. Распространяется по лицензии GNU LGPL.
Особенности [ править ]
- От других распространённых компиляторов TCC отличается прежде всего тем, что может исполнять скомпилированную им программу, то есть выполнять функцию интерпретатора. Данное свойство позволяет использовать язык Си в качестве скриптового языка. Например, для того, чтобы запустить программу на Си в качестве скрипта в оболочке Linux, достаточно вставить в начало текста программы строку:
Также, наличие библиотеки libtcc позволяет осуществлять динамическую генерацию кода. С помощью этой библиотеки пользователь, например, может скомпилировать строку, содержащую программу на Си, после чего получить доступ к любому глобальному символу (переменной или функции), определенному в программе. [3]
How to shorten URL Website Link using «tiny.cc»
- Компактность. Исполняемый файл для процессоров x86, включающий препроцессор, компилятор, ассемблер и компоновщик, составляет всего около 100 КБ. [4]
- Высокая скорость компиляции. Например, TCC примерно в 9 раз быстрее GCC. [5]
- Возможность формировать код с контролем границ массивов, который можно беспрепятственно использовать вместе с обычным кодом.
- Возможность напрямую использовать любую динамическую библиотеку.
- Оптимизация кода ограничена вычислением константных выражений на этапе компиляции, заменой операций умножения и деления операциями сдвига где это возможно, а также некоторыми другими действиями. Оптимизация переходов не производится, так как это потребовало бы организацию промежуточного кода в более абстрактном виде. [6]
Совместимость [ править ]
TCC поддерживает не только стандарт ANSI C, но и большую часть нового стандарта ISO C99 и многие расширения GNU C, включая ассемблерные вставки. TCC также имеет собственные расширения, например, представление чисел в двоичном коде ( 0b101 вместо 5 ). [7]
История развития [ править ]
TCC первоначально разрабатывался для ОС Linux, однако начиная с версии 0.9.23 (17 июня 2005) работает и в ОС Microsoft Windows.
Первый вариант TCC был разработан как Obfuscated Tiny C Compiler (OTCC). OTCC — программа, написанная Фабрисом Белларом для участия в конкурсе International Obfuscated C Code Contest (IOCCC) в 2002 году [8] . (На официальном сайте конкурса Фабрис Беллар с программой OTCC числится среди победителей конкурса за 2001 год [9] .) С того времени Беллар значительно расширил функциональность программы и сделал её более понятной.
Текущее состояние [ править ]
На данный момент проект TCC продолжает развиваться. Существует активный список рассылки, а текущая версия от Фабриса Беллара доступна через CVS. Однако, официальная разработка TCC замедлилась в связи с занятостью Беллара в других проектах. На данный момент апрель 2012 на сайте разработчика висит сообщение, что он больше не занимается поддержкой компилятора.
How to Make and Use a tiny cc Link
Роб Лендли, используя Mercurial SCM, создал версию TCC, включающую различные патчи от сторонних разработчиков.
Помимо обозначенных выше существуют и другие модификации TCC и патчи для него, такие как, неофициальная коллекция патчей от Дейва Доджа, патчи от Debian и kfreebsd, а также патчи для GCC от grischka.
В версии TCC 0.9.23 была обнаружена уязвимость, получившая номера CVE-2006-0635Б [10] и Open Source Vulnerability Database vulnerability 22956 [11] . В отчёте было сказано, что TCC «содержит ошибку, способную вызвать проблемы с безопасностью в программах скомпилированных с его помощью. Компилятор не способен возвращать беззнаковое значение оператора sizeof , что может привести к переполнениям целых чисел в скомпилированных объектах». Эта уязвимость была закрыта в версии 0.9.24.
См. также [ править ]
На основе TCC создан загрузчик TCCBOOT (TinyCC Boot Loader) (англ.) , позволяющий компилировать и загружать ядро Linux непосредственно из исходных текстов.
Ссылки [ править ]
- Официальная страница TCC (англ.)
Источник: www.wiki-wiki.ru
Tiny C Compiler
22 июля, 2017 2
Tiny C Compiler (англ. Tiny C Compiler – «крошечный компилятор Си»), или TinyCC, или TCC – свободный компилятор C для платформы x86.
Работает в операционных системах Microsoft Windows, Linux, KolibriOS. Существуют также версии для ARM, TMS320C67xx. Распространяется по лицензии GNU Lesser General Public License.
TCC первоначально разрабатывался для операционной системы Linux, однако начиная с версии 0.9.23 (17 июня 2005) работает и в операционной системе Microsoft Windows.
Первый вариант TCC был разработан как OTCC (Obfuscated Tiny C Compiler). OTCC – программа, написанная Фабрисом Белларом для участия в конкурсе International Obfuscated C Code Contest (IOCCC) в 2002 году. (На официальном сайте конкурса Фабрис Беллар с программой OTCC числится среди победителей конкурса за 2001 год.) С того времени Беллар значительно расширил функциональность программы и сделал её более понятной.
На данный момент проект TCC продолжает развиваться. Существует активный список рассылки, а текущая версия от Фабриса Беллара доступна через CVS. Однако, официальная разработка TCC замедлилась в связи с занятостью Беллара в других проектах. На данный момент апрель 2012 на сайте разработчика висит сообщение, что он больше не занимается поддержкой компилятора.
Роб Лендли, используя Mercurial, создал версию TCC, включающую различные патчи от сторонних разработчиков.
Помимо обозначенных выше существуют и другие модификации TCC и патчи для него, такие как, неофициальная коллекция патчей от Дейва Доджа, патчи от Debian и kfreebsd, а также патчи для GCC от grischka.
В версии TCC 0.9.23 была обнаружена уязвимость, получившая номера CVE-2006-0635Б и Open Source Vulnerability Database vulnerability 22956. В отчёте было сказано, что TCC «содержит ошибку, способную вызвать проблемы с безопасностью в программах скомпилированных с его помощью. Компилятор не способен возвращать беззнаковое значение оператора sizeof, что может привести к переполнениям целых чисел в скомпилированных объектах». Эта уязвимость была закрыта в версии 0.9.24.
Особенности Tiny C Compiler
- От других распространённых компиляторов TCC отличается прежде всего тем, что может исполнять скомпилированную им программу, то есть выполнять функцию интерпретатора.
Данное свойство позволяет использовать язык Си в качестве скриптового языка. Например, для того, чтобы запустить программу на Си в качестве скрипта в оболочке Linux, достаточно вставить в начало текста программы строку: #!/usr/local/bin/tcc -run
Также, наличие библиотеки libtcc позволяет осуществлять динамическую генерацию кода. С помощью этой библиотеки пользователь, например, может скомпилировать строку, содержащую программу на Си, после чего получить доступ к любому глобальному символу (переменной или функции), определённому в программе.
Исполняемый файл для процессоров x86, включающий препроцессор, компилятор, ассемблер и компоновщик, составляет всего около 100 Кб.
- Высокая скорость компиляции.
Например, TCC примерно в 9 раз быстрее GCC (GNU Compiler Collection).
- Возможность формировать код с контролем границ массивов, который можно беспрепятственно использовать вместе с обычным кодом.
- Возможность напрямую использовать любую динамическую библиотеку.
- Оптимизация кода ограничена вычислением константных выражений на этапе компиляции, заменой операций умножения и деления операциями сдвига где это возможно, а также некоторыми другими действиями.
Оптимизация переходов не производится, так как это потребовало бы организацию промежуточного кода в более абстрактном виде.
Совместимость Tiny C Compiler
TCC поддерживает не только стандарт ANSI C, но и большую часть нового стандарта ISO C99 и многие расширения GNU C, включая ассемблерные вставки. TCC также имеет собственные расширения, например, представление чисел в двоичном коде (0b101 вместо 5).
Ссылки
Похожие программы
SiteAnalyzer
Construct Classic
Hibernate
RKWard
QDevelop
Источник: wikiprograms.org
Tiny Core Linux
Tiny Core Linux — крошечный дистрибутив Linux, работающий очень быстро. Размер iso образа всего около 12 мегабайт. Дистрибутив может работать на очень слабых компьютерах. Дистрибутив не содержит встроенного программного обеспечения. Tiny Core Linux вряд ли подойдет для новичков, так как требует опыта работы с Linux.
Производительность
Tiny Core Linux отличается очень высокой производительностью. Система загружается полностью в оперативную память.
Загрузка системы происходит очень быстро. Окна открываются мгновенно.
Отзывчивость интерфейса в Tiny Core Linux одна из лучших среди Linux дистрибутивов. Например, текстовый редактор AbiWord открывается меньше секунды (на не очень современном компьютере).
Минимальные системные требования: 48Мб оперативной памяти и процессор не ниже i486.
Редакции
Tiny Core Linux доступен в следующих версиях:
- TinyCore — (~16Mb) — базовая версия дистрибутива с оконным менеджером FLWM.
- CorePlus — (~106Mb) — версия дистрибутива, где доступно несколько менеджеров окон (интерфейсов) на выбор:
- FLWM,
- Joe,
- ICE WM,
- Fluxbox,
- Hackedbox,
- Openbox,
- командная строка.
Все оконные менеджеры поддерживаются в Live-режиме.
Установка Tiny Core Linux
Дистрибутив можно запустить с LiveCD без установки на компьютер.
Для установки дистрибутива используется специальная программа TC Install. Возможна также установка в текстовом режиме. Инструкция по установке: http://distro.ibiblio.org/tinycorelinux/install.html
Программы
В Tiny Core Linux доступны только терминал, простой текстовый редактор, менеджер пакетов, программа для настройки системы ControlPanel.
Через менеджер пакетов AppBrowser можно устанавливать программное обеспечение. Вы должны выбрать желаемую программу из списка (или воспользоваться поиском) и нажать кнопку Go для установки. Программа автоматически скачает необходимые пакеты из интернета и установит их. Иконка новой программы появится в доке в нижней части экрана.
Дистрибутив поддерживает минимум оборудования и является по сути ядром (базой) для вашей будущей системы.
Поддержка
У дистрибутива есть активный и посещаемый форум (forum.tinycorelinux.net), где можно получить поддержку.
На официальном сайте представлена большая документация по Core Linux в виде PDF файла: http://tinycorelinux.net/book.html
Создатель и главный разработчик Роберт Шингледекер (Robert Shingledecker).
Релизы дистрибутива Tiny Core Linux
1.0 | 05 января 2009 | ||
.. | |||
2.0 | 07 июня 2009 | 2.6.29.1 | |
.. | |||
2.7 | |||
2.8.1 | |||
2.9 | |||
2.10 | |||
2.11.6 | |||
3.0 | |||
3.1 | |||
3.2 | |||
3.3 | |||
3.4 | |||
3.5 | |||
3.6 | |||
3.7 | |||
3.8 | |||
4.0 | 3.03 | ||
4.1 | |||
4.2 | |||
4.3 | |||
4.4 | |||
4.5 | |||
4.6 | |||
4.7 | |||
5.0 | 3.8.10 | ||
5.1 | 3.8.13 | ||
5.3 | |||
5.4 | 10 сентября 2014 | ||
6.1 | |||
6.2 | |||
6.3 | |||
6.4 | |||
6.4.1 | |||
7.0 | 4.2.9 | ||
7.1 | |||
7.2 | |||
8.0 | 4.8.17 | ||
8.1 | |||
8.1.1 | |||
8.2 | |||
8.2.1 | |||
9.0 | 26 февраля 2018 | 4.14.10 | |
10.0 | 4.19.10 | ||
10.1 | |||
11.0 | 09 февраля 2020 | 5.4.3 | пресс-релиз |
Материалы по теме:
Источник: pingvinus.ru
Tiny cc что это за программа
Войдите, чтобы использовать все возможности RUTUBE
Источник: rutube.ru