Вы здесь

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

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

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

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

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

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


Программа зарегистрирована под номером 10859 (от 25.06.2021) в Едином реестре российских программ для электронных вычислительных машин и баз данных.

Версия LCC   1.29 1.28 1.27 1.26 1.25 1.24 1.23 1.21 1.19
Год выпуска   2024 2023 2022 2021 2020 2019 2018 2016 2014
Поддержка C++ GCC ≈ 11.3 11.3 9.3 9.3 7.3 7.3 5.5 4.8 4.4
  libstdc++ 6.0.29 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 11.3 9.3 9.3 7.3 7.3 5.5 4.8 4.4
  libc 2.35 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⁴ 10.3⁴ 5.5³ 5.5 5.5 4.9 4.9 4.4
  libfortran 5.0.0 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.

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

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