LLVM

Što je LLVM?

Što je LLVM?

Što je LLVM i zašto je korisno?

Višestruki mini projekti rade pod kišobranom LLVM-a. Mini-projekti uglavnom se bave tehnologijama kompajlera. Čini se da postoji određena zabuna u vezi sa imenovanjem LLVM-a. Ljudi pogrešno pretpostavljaju da je to povezano s virtualnim strojevima. Nema veze. Izraz LLVM ne znači ništa. To je samo ime koje je korišteno na početku projekta.

Projekt LLVM odvija se pod licencom BSD-Style „UIUC“. Projekt je nastao na Sveučilištu Illinois. Od tada je stekao popularnost i koristio se za razne projekte. Posebno je popularan u akademskim krugovima. Glavni cilj projekta je pružiti statičku i dinamičku kompilaciju različitih programskih jezika temeljenih na SSA.

Evo mini projekta LLVM:

  1. LLVM jezgra: Osnovne knjižnice pružaju podršku za optimizaciju i generiranje koda za procesore. LLVM IR (srednja zastupljenost) daje temelj knjižnicama. Zajednica je dobro odradila posao dokumentiranja jezgre LLVM-a. Tako možete lako koristiti ove knjižnice za stvaranje novog programskog jezika ili stvaranje porta postojećeg prevoditelja. Ako se želite upustiti u ove teritorije, LLVM Core je dobro mjesto za početak.
  1. Clang: To je prevodilac koji je tri puta brži od GCC-a. Cilja C, C ++ i Objective-C. Clangove pogreške i upozorenja lakše je razumjeti. Također ima alat za statički analizator. Sam alat za statički analizator izrađen je pomoću Clang kompajlera.
  1. LLDB: To je program za ispravljanje pogrešaka. Brži je i učinkovitiji od GDB-a. Program za ispravljanje pogrešaka izrađen je koristeći Clang i LLVM Core.
  1. libc ++ i libc ++ ABI: Bolja primjena C ++ STD.
  1. compiler-rt: Pruža podršku za kod niske razine. Također ima knjižnice vremena izvođenja za dinamičko testiranje.
  1. OpenMP: Otvorena višestruka obrada (OpenMP) je API koji pomaže u multithreadingu. Ovaj projekt podržava izvorno vrijeme izvođenja za OpenMP koje će se koristiti s Clangom.
  1. Polly: U svijetu LLVM-a to je petlja na visokoj razini i optimizator lokacije podataka. Optimizira obrasce pristupa memoriji programa.
  1. libclc: Biblioteka za OpenCL.
  1. klee: To je simbolički virtualni stroj. Možete koristiti klee za prelazak svih dinamičkih staza u programu da biste pronašli probleme. Stroj može proizvesti automatizirane test slučajeve.
  1. SIGURNOSNA KODA: Kompajler je za C / C ++ koji jamči sigurnost memorije. To je izvrstan alat za istraživanje stručnjaka za kibernetsku sigurnost. Može vam pomoći u otkrivanju sigurnosnih pogrešaka u memoriji.
  1. lld: Gradi povezivač za rad s Clangom i LLVM-om.

LLVM ima reputaciju stvaranja čistijih binarnih datoteka od GCC-a. Također, LLVM ima vanjske projekte pomoću kojih se mogu kompajlirati Python, Haskell, PHP, LUA, Ruby i drugi jezici. LLVM se smatra svestranim, fleksibilnim i ponovnim rješenjem. Tako stječe popularnost u razvojnoj zajednici. Koristi se kao JIT kompajleri za ugrađene jezike. LLVM se također koristi za superračunala. Široka podrška zajednice programera čini je robusnim alatom.

Daljni studiji:

Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...
Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...