LLVM

Co je LLVM?

Co je LLVM?

Co je LLVM a proč je užitečné?

Pod záštitou LLVM funguje několik mini-projektů. Mini-projekty se zabývají hlavně kompilátorovými technologiemi. Zdá se, že existuje určitý zmatek ohledně pojmenování LLVM. Lidé se mylně domnívají, že to souvisí s virtuálními stroji. Neexistuje žádné spojení. Pojem LLVM nestojí za nic. Je to jen název, který byl použit na začátku projektu.

Projekt LLVM je provozován pod licencí BSD ve stylu „UIUC“. Projekt vznikl na University of Illinois. Od té doby si získal popularitu a používá se pro nejrůznější projekty. Je obzvláště populární v akademických kruzích. Hlavním cílem projektu je poskytnout statickou a dynamickou kompilaci různých programovacích jazyků založenou na SSA.

Zde je mini-projekt LLVM:

  1. LLVM jádro: Základní knihovny poskytují optimalizaci a podporu generování kódu pro CPU. LLVM IR (Intermediate Representation) poskytuje základ pro knihovny. Komunita odvedla dobrou práci s dokumentováním jádra LLVM. Tyto knihovny tedy můžete snadno použít k vytvoření nového programovacího jazyka nebo k vytvoření portu existujícího kompilátoru. Pokud se chcete vydat do těchto teritorií, LLVM Core je dobrým místem pro začátek.
  1. Zvonit: Je to kompilátor, který je třikrát rychlejší než GCC. Zaměřuje se na C, C ++ a Objective-C. Clangské chyby a varování jsou srozumitelnější. Má také nástroj pro statický analyzátor. Samotný nástroj statického analyzátoru je sestaven pomocí kompilátoru Clang.
  1. LLDB: Je to debugger. Je rychlejší a efektivnější než GDB. Debugger je vytvořen pomocí Clang a LLVM Core.
  1. libc ++ a libc ++ ABI: Lepší implementace C ++ STD.
  1. kompilátor-rt: Poskytuje podporu pro nízkoúrovňový kód. Má také běhové knihovny pro dynamické testování.
  1. OpenMP: Open Multi-Processing (OpenMP) je API, které pomáhá s multithreadingem. Tento projekt podporuje nativní běhové prostředí pro OpenMP, které se má použít s Clang.
  1. Máňa: Ve světě LLVM je to optimalizátor smyčky a datové lokality na vysoké úrovni. Optimalizuje vzorce přístupu do paměti programů.
  1. libclc: Knihovna pro OpenCL.
  1. Klee: Je to symbolický virtuální stroj. Klee můžete použít k procházení všech dynamických cest v programu a hledání problémů. Stroj může vyrábět automatizované testovací případy.
  1. BEZPEČNÝ KÓD: Je to kompilátor pro C / C ++, který zaručuje bezpečnost paměti. Je to skvělý nástroj, který mohou prozkoumat odborníci na kybernetickou bezpečnost. Může pomoci s detekcí chyb zabezpečení paměti.
  1. lld: Vytváří linker pro práci s Clang a LLVM.

LLVM má pověst vytváření čistších binárních souborů než GCC. LLVM má také externí projekty, které lze použít ke kompilaci jazyků Python, Haskell, PHP, LUA, Ruby a dalších jazyků. LLVM je považováno za univerzální, flexibilní a opakovaně použitelné řešení. Získává tedy popularitu ve vývojové komunitě. Používá se jako překladače JIT pro vložené jazyky. LLVM se také používá pro superpočítače. Díky široké podpoře vývojářské komunity je to robustní nástroj.

Další studie:

V systému Windows 10 nefunguje levé tlačítko myši
Pokud používáte speciální myš s notebookem nebo stolním počítačem, ale levé tlačítko myši nefunguje ve Windows 10/8/7 z nějakého důvodu uvádíme několi...
Kurzor při psaní v systému Windows 10 skáče nebo se pohybuje náhodně
Pokud zjistíte, že kurzor myši skáče nebo se pohybuje sám, automaticky, náhodně při psaní v notebooku nebo počítači se systémem Windows, pak vám někte...
Jak obrátit směr posouvání myši a touchpadu ve Windows 10
Myš a Touchpadnejenže usnadňují výpočet, ale jsou efektivnější a méně časově náročné. Nemůžeme si představit život bez těchto zařízení, ale přesto je ...