Вы здесь

Компилятор «LCC» (ТВГИ.00500-01)

Фирменный оптимизирующий компилятор языков C, C++, Fortran.

Цена по прайс-листу
Информация
Характеристики
Поддержка

Фирменный компилятор компании АО «МЦСТ» — разработчика архитектуры Эльбрус. Поддерживает языки программирования C, C++, Fortran. Во многом совместим с компилятором GCC (GNU Compiler Collection) — как по параметрам запуска, так и по GNU-расширениям языков. Обладает развитыми средствами оптимизации генерируемого машинного кода, позволяющими выбирать между быстродействием программы и её размером, а также длительностью компиляции.

Выпускается для компьютеров архитектуры Эльбрус и SPARC (МЦСТ-R). Поставляется в составе Системы программирования «Эльбрус» — штатно вместе с операционной системой либо или отдельно, по договору поставки. Поддерживает операционные системы семейства Linux и QNX; описание варианта для QNX «Нейтрино» в ТВГИ.00935-01.

Кросс-компилятор — это вариант компилятора, функционирующий на компьютерах архитектуры x86-64 и при этом выдающий машинный код архитектуры Эльбрус или SPARC. Получить кросс-компилятор можно по запросу в службу поддержки при наличии лицензии на право использования обычного компилятора (системы программирования) — для этого необходимо сообщить модель компьютера (процессора), наименование и номер версии целевой операционной системы. Вместе с кросс-компилятором для удобства может быть предоставлен архив файлов предустановленной системы «Эльбрус Линукс», если она является целевой системой для сборки программ.

Версия LCC   1.28 1.27 1.26 1.25 1.24 1.23 1.21 1.19
Год выпуска   2023 2022 2021 2020 2019 2018 2016 2014
Поддержка C++ GCC ≈ 11.3 9.3 9.3 7.3 7.3 5.5 4.8 4.4
  libstdc++ 6.0.29 6.0.28 6.0.28 6.0.24 6.0.24 6.0.21 6.0.18 6.0.11
  C++23 ± ± ± ±
  C++20 ± ± ± ±
  C++17 + ± ± ± ±
  C++14 + + + + + + ±²
  C++11 + + + + + + ±²
  C++03 + + + + + + + +
  C++98 + + + + + + + +
Поддержка C GCC ≈ 11.3 9.3 9.3 7.3 7.3 5.5 4.8 4.4
  libc 2.35 2.35 2.29 2.29 2.29 2.23 2.23 2.19
  C18 + + +
  C11 + + + +
  C99 + + + + + + + +
  C90 + + + + + + + +
Поддержка Fortran GCC ≈ 10.3⁴ 10.3⁴ 5.5³ 5.5 5.5 4.9 4.9 4.4
  libfortran 5.0.0 5.0.0 4.0.0 3.0.0 3.0.0 2.0.0 2.0.0 1.0.0
  F18 ± ± ± ± ±
  F08 + ± ± ± ± ± ±
  F03 + ± ± ± ± ± ±
  F95 + + + + + + + +

Знак „+“ означает, что стандарт поддержан полностью, „±“ означает поддержку в экспериментальном режиме и/или неполностью — см. сноски и документацию, „−“ означает отсутствие поддержки данного языкового стандарта в данной версии компилятора.

¹ Стандарт C11 (ISO/IEC 9899:2011) в версиях LCC 1.21–1.24 был поддержан полностью за исключением необязательного расширения _Atomic.

² Стандарты C++11 (ISO/IEC 14882:2011) и C++14 (ISO/IEC 14882:2014) в версии LCC 1.21 были поддержаны полностью в языковой части, однако в библиотечной части отсутствовала поддержка классов std::exception_ptr и std::nested_exception — это было обусловлено отсутствием поддержки zero cost exceptions (0eh) со стороны компилятора на тот момент.

³ Номинальная совместимость LCC 1.26 с gfortran-5.5.0, неполная совместимость с gfortran-6.5.0 и gfortran-7.3.0.

⁴ Номинальная совместимость LCC 1.27 / 1.28 с gfortran-10.3.0, неполная совместимость с gfortran-11.2.0 / 11.3.0.

Дистрибутивы

Компилятор поставляется в составе Системы программирования «Эльбрус».