Jump to content

LCC (составитель)

ООО
Разработчик(и) Дэйв Хэнсон и Крис Фрейзер
Первоначальный выпуск 1994 год ; 30 лет назад ( 1994 )
Стабильная версия
4.2 / 4 сентября 2002 г .; 21 год назад ( 04.09.2002 )
Написано в С
Операционная система Кросс-платформенный
Тип Компилятор
Лицензия Лицензия ООО [1]
Веб-сайт HR .github .что /lcc /

LCC («Локальный компилятор C» или «Маленький компилятор C») — это небольшой перенастраиваемый компилятор для ANSI C. языка программирования Хотя исходный код доступен бесплатно для личного использования, [2] это не программное обеспечение с открытым исходным кодом или бесплатное программное обеспечение в соответствии с обычными определениями, поскольку продукты, полученные на основе LCC, не могут продаваться, хотя компоненты, не полученные на основе LCC, могут продаваться. [1] Его разработали Крис Фрейзер и Дэвид Хэнсон .

LCC призван быть очень простым для понимания и хорошо документирован; его конструкция описана в книге Фрейзера и Хэнсона A Retargetable C Compiler: Design and Implementation . В книгу включена большая часть исходного кода компилятора версии 3.6, который был написан как грамотная программа с использованием noweb . По состоянию на июль 2011 года текущая версия LCC — 4.2, но большая часть книги по-прежнему относится к этой версии. Основное изменение с момента публикации книги касается интерфейса генератора кода, который описан в отдельном документе. [3]

Исходный код LCC составляет около 20 000 строк, что намного меньше, чем у многих крупных компиляторов. [4]

LCC может генерировать код для нескольких процессорных архитектур, включая Alpha , SPARC , MIPS и x86 ; существует также серверная часть LCC, которая генерирует Common Intermediate Language от Microsoft . [5]

Проекты с участием LCC

[ редактировать ]

id Software от id Tech 3 Движок использует модифицированную версию LCC для компиляции исходного кода каждого игрового модуля или стороннего мода в байт-код, предназначенный для его виртуальной машины . [6] Это означает, что модули не обращают внимания на систему, за исключением системных вызовов и ограниченной области файловой системы, предлагаемой движком, что предназначено для уменьшения угрозы, исходящей от авторов вредоносных модов. Еще одно соображение заключается в том, что игры и моды, написанные для этого движка, переносимы без перекомпиляции; только виртуальную машину необходимо портировать на новые платформы для выполнения модулей.

lcc-выигрыш

[ редактировать ]

lcc-win32 — это интегрированный пакет среды разработки для Microsoft Windows , который включает в себя ответвление LCC. Существует аналог amd64 под названием lcc-win64, который доступен с 15 апреля 2012 года. [7]

Экскаваторы С

[ редактировать ]

Компилятор Pelles C представляет собой сильно модифицированную версию LCC, обеспечивающую поддержку C11 , C17 , amd64, дополнительные методы оптимизации, такие как встроенное расширение. [8] и IDE .

Для 32-битных компьютеров Windows Lcc используется по умолчанию, если для MathWorks MATLAB и связанных продуктов не установлен другой компилятор. [9]

Лицензия

[ редактировать ]

LCC бесплатен для личного использования и может распространяться при условии, что это подтверждается всеми носителями распространения и документацией по продукту. Лицензия LCC во многих случаях опирается на примеры. LCC не может продаваться с целью получения прибыли, но может быть включен в другое программное обеспечение, продаваемое с целью получения прибыли, при условии, что сам LCC распространяется бесплатно. Лицензии на пользователя и неограниченное использование можно получить, связавшись с Addison-Wesley, в частности, для компиляторов таких языков, как C++, для которых компилятор C может составлять большую часть работы. [1]

См. также

[ редактировать ]
  1. ^ Jump up to: а б с «Лицензия ООО» . Гитхаб . Проверено 5 июля 2011 г.
  2. ^ «Официальный репозиторий Github» . Гитхаб .
  3. ^ Фрейзер, Кристофер В.; Хэнсон, Дэвид Р. (июль 2001 г.). «Интерфейс генерации кода lcc 4.x» (PDF) . Исследования Майкрософт. Технический отчет MSR-TR-2001-64 . Проверено 5 июля 2011 г.
  4. ^ Сао-Цзе Чен, Гуан-Хуэй Линь, Пао-Анн Сюн, Ю-Хен Ху.«Аппаратно-программное совместное проектирование мультимедийной SOC-платформы».Раздел 5.6.1: Инфраструктура компилятора LCC. [1]
  5. ^ Хэнсон, Дэвид Р. (март 2004 г.). «Lcc.NET: переход на общий промежуточный язык .NET из стандарта C» (PDF) . Исследования Майкрософт . Проверено 22 июля 2012 г.
  6. ^ «Файл Джона Кармака .plan, 24 июля 1999 г.» . Архивировано из оригинала 12 мая 2008 г.
  7. ^ lcc-win: система компилятора для Windows.
  8. ^ Обзор Пеллеса C
  9. ^ «Создать MEX-файлы» . Архивировано из оригинала 14 сентября 2012 года . Проверено 6 ноября 2013 г.
[ редактировать ]

Библиография

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b4a3ab1585afbcc2c6444e5a468bb100__1705584360
URL1:https://arc.ask3.ru/arc/aa/b4/00/b4a3ab1585afbcc2c6444e5a468bb100.html
Заголовок, (Title) документа по адресу, URL1:
LCC (compiler) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)