LLVM

Какво е LLVM?

Какво е LLVM?

Какво е LLVM и защо е полезно?

Множество мини-проекти работят под чадъра на LLVM. Мини-проектите се занимават основно с компилаторни технологии. Изглежда има известно объркване по отношение на именуването на LLVM. Хората погрешно предполагат, че е свързано с виртуални машини. Няма връзка. Терминът LLVM не означава нищо. Това е просто име, което е използвано в началото на проекта.

Проектът LLVM се управлява под лиценза BSD-стил „UIUC“. Проектът възниква в Университета на Илинойс. Оттогава той придоби популярност и се използва за голямо разнообразие от проекти. Той е особено популярен в академичните среди. Основната цел на проекта е да осигури SSA-базирана статична и динамична компилация на различни програмни езици.

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

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

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

Допълнително проучване:

Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...
Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...
Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...