LLVM

Kaj je LLVM?

Kaj je LLVM?

Kaj je LLVM in zakaj je uporaben?

Več mini projektov deluje pod okriljem LLVM. Mini projekti se večinoma ukvarjajo s tehnologijami prevajalnikov. Zdi se, da obstaja nekaj zmede glede poimenovanja LLVM. Ljudje zmotno domnevajo, da je povezan z navideznimi stroji. Povezave ni. Izraz LLVM ne pomeni ničesar. To je samo ime, ki je bilo uporabljeno na začetku projekta.

Projekt LLVM deluje pod licenco BSD-Style »UIUC«. Projekt je nastal na univerzi v Illinoisu. Od takrat je postalo priljubljeno in se uporablja za številne različne projekte. Še posebej priljubljen je v akademskih krogih. Glavni cilj projekta je zagotoviti statično in dinamično kompilacijo različnih programskih jezikov na osnovi SSA.

Tu je mini projekt LLVM:

  1. LLVM jedro: Jedrne knjižnice zagotavljajo podporo za optimizacijo in generiranje kode za CPU. LLVM IR (vmesna predstavitev) je osnova za knjižnice. Skupnost je dobro opravila dokumentiranje LLVM Core. Tako lahko te knjižnice enostavno uporabite za ustvarjanje novega programskega jezika ali ustvarjanje vrat obstoječega prevajalnika. Če se želite odpraviti na ta ozemlja, je LLVM Core dobro mesto za začetek.
  1. Clang: Je prevajalnik, ki je trikrat hitrejši od GCC. Cilja na C, C ++ in Objective-C. Napake in opozorila Clang so lažje razumljive. Ima tudi orodje za statični analizator. Samo orodje za statični analizator je zgrajeno s pomočjo prevajalnika Clang.
  1. LLDB: Je razhroščevalec. Je hitrejši in učinkovitejši od GDB. Razhroščevalnik je zgrajen s pomočjo Clang in LLVM Core.
  1. libc ++ in libc ++ ABI: Boljša uporaba C ++ STD.
  1. compiler-rt: Ponuja podporo za nizko stopnjo kode. Ima tudi knjižnice časa izvajanja za dinamično preskušanje.
  1. OpenMP: Open Multi-Processing (OpenMP) je API za pomoč pri večnitnosti. Ta projekt podpira izvorno izvajalno okolje OpenMP, ki se uporablja s Clangom.
  1. Polly: V svetu LLVM je zanka na visoki ravni in optimizator lokacij podatkov. Optimizira vzorce dostopa do pomnilnika programov.
  1. libclc: Knjižnica za OpenCL.
  1. klee: Je simbolični virtualni stroj. Klee lahko uporabite za prehod vseh dinamičnih poti v programu za iskanje težav. Stroj lahko proizvaja avtomatizirane testne primere.
  1. VARNOSTNA KODA: Je prevajalnik za C / C ++, ki zagotavlja varnost pomnilnika. To je odlično orodje za raziskovanje strokovnjakov za kibernetsko varnost. Pomaga lahko pri odkrivanju varnostnih napak v pomnilniku.
  1. lld: Gradi povezovalnik za delo s Clangom in LLVM.

LLVM ima sloves ustvarjanja čistejših binarnih datotek kot GCC. LLVM ima tudi zunanje projekte, ki jih je mogoče uporabiti za prevajanje Pythona, Haskella, PHP, LUA, Ruby in drugih jezikov. LLVM velja za vsestransko, prilagodljivo in ponovno uporabno rešitev. Tako pridobiva na popularnosti v razvojni skupnosti. Uporablja se kot prevajalniki JIT za vdelane jezike. LLVM se uporablja tudi za superračunalnike. Zaradi široke podpore skupnosti razvijalcev je to močno orodje.

Nadaljni študij:

Namestite najnovejši Dolphin Emulator za Gamecube & Wii v Linux
Dolphin Emulator vam omogoča igranje izbranih iger Gamecube in Wii na osebnih računalnikih Linux (PC). Dolphin Emulator je prosto dostopen in odprtok...
Kako uporabljati GameConqueror Cheat Engine v Linuxu
Članek zajema vodnik o uporabi varalnice GameConqueror v Linuxu. Številni uporabniki, ki igrajo igre v sistemu Windows, pogosto uporabljajo aplikacijo...
Najboljši emulatorji igralne konzole za Linux
V tem članku bo navedena priljubljena programska oprema za emulacijo igralne konzole, ki je na voljo za Linux. Emulacija je sloj združljivosti program...