LLVM

Что такое LLVM?

Что такое LLVM?

Что такое LLVM и почему он полезен?

Несколько мини-проектов работают под эгидой LLVM. Мини-проекты в основном касаются компиляторных технологий. Кажется, есть некоторая путаница в отношении именования LLVM. Люди ошибочно полагают, что это связано с виртуальными машинами. Нет соединения. Термин LLVM ничего не означает. Это просто имя, которое использовалось в начале проекта.

Проект LLVM работает под лицензией «UIUC» в стиле BSD. Проект зародился в Иллинойском университете. С тех пор он приобрел популярность и использовался для самых разных проектов. Особенно популярен в академических кругах. Основная цель проекта - обеспечить статическую и динамическую компиляцию различных языков программирования на основе SSA.

Вот мини-проект LLVM:

  1. Ядро LLVM: Базовые библиотеки обеспечивают оптимизатор и поддержку генерации кода для ЦП. LLVM IR (промежуточное представление) обеспечивает основу для библиотек. Сообщество хорошо поработало над документированием ядра LLVM. Таким образом, вы можете легко использовать эти библиотеки для создания вашего нового языка программирования или создания порта существующего компилятора. Если вы хотите выйти на эти территории, LLVM Core - хорошее место для начала.
  1. Лязг: Это компилятор, который в три раза быстрее GCC. Он нацелен на C, C ++ и Objective-C. Ошибки и предупреждения Clang легче понять. Также есть инструмент статического анализатора. Сам инструмент статического анализатора построен с использованием компилятора Clang.
  1. LLDB: Это отладчик. Он быстрее и эффективнее, чем GDB. Отладчик построен с использованием Clang и LLVM Core.
  1. libc ++ и libc ++ ABI: Лучшая реализация C ++ STD.
  1. компилятор-rt: Он обеспечивает поддержку низкоуровневого кода. Он также имеет библиотеки времени выполнения для динамического тестирования.
  1. OpenMP: Open Multi-Processing (OpenMP) - это API, помогающий с многопоточностью. Этот проект поддерживает встроенную среду выполнения OpenMP для использования с Clang.
  1. Полли: В мире LLVM это высокоуровневый оптимизатор циклов и локализации данных. Оптимизирует шаблоны доступа к памяти программ.
  1. libclc: Библиотека для OpenCL.
  1. кли: Это символическая виртуальная машина. Вы можете использовать klee для обхода всех динамических путей в программе для поиска проблем. Машина может производить автоматизированные тестовые случаи.
  1. БЕЗОПАСНЫЙ КОД: Это компилятор для C / C ++, гарантирующий безопасность памяти. Это отличный инструмент для экспертов по кибербезопасности. Это может помочь в обнаружении ошибок безопасности памяти.
  1. lld: Создает компоновщик для работы с Clang и LLVM.

LLVM имеет репутацию создателя более чистых двоичных файлов, чем GCC. Также LLVM имеет внешние проекты, которые можно использовать для компиляции Python, Haskell, PHP, LUA, Ruby и других языков. LLVM считается универсальным, гибким и многоразовым решением. Таким образом, он набирает популярность в сообществе разработчиков. Он используется как JIT-компиляторы для встроенных языков. LLVM также используется для суперкомпьютеров. Широкая поддержка сообщества разработчиков делает его надежным инструментом.

Дальнейшее изучение:

Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...
Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...
Бесплатные движки с открытым исходным кодом для разработки игр для Linux
В этой статье будет рассмотрен список бесплатных игровых движков с открытым исходным кодом, которые можно использовать для разработки 2D- и 3D-игр в L...