LLVM

Kas ir LLVM?

Kas ir LLVM?

Kas ir LLVM un kāpēc tas ir noderīgs?

Vairāki mini projekti darbojas zem LLVM jumta. Miniprojekti galvenokārt nodarbojas ar kompilatoru tehnoloģijām. Šķiet, ka ir neskaidrības par LLVM nosaukumiem. Cilvēki kļūdaini pieņem, ka tas ir saistīts ar virtuālajām mašīnām. Nav savienojuma. Termins LLVM neko neizsaka. Tas ir tikai nosaukums, kas tika izmantots projekta sākumā.

LLVM projekts darbojas ar “UIUC” BSD stila licenci. Projekts radās Ilinoisas universitātē. Kopš tā laika tā ir guvusi popularitāti un ir izmantota daudziem dažādiem projektiem. Tas ir īpaši populārs akadēmiskajās aprindās. Projekta galvenais mērķis ir nodrošināt uz SSA balstītu statisku un dinamisku dažādu programmēšanas valodu apkopojumu.

Šeit ir LLVM mini projekts:

  1. LLVM kodols: Galvenās bibliotēkas nodrošina optimizētāju un kodu ģenerēšanas atbalstu procesoriem. LLVM IR (starpposma pārstāvniecība) nodrošina pamatu bibliotēkām. Sabiedrība ir paveikusi labu darbu, dokumentējot LLVM Core. Tātad jūs varat viegli izmantot šīs bibliotēkas, lai izveidotu savu jauno programmēšanas valodu vai izveidotu esošā kompilatora portu. Ja vēlaties doties uz šīm teritorijām, LLVM Core ir laba vieta, kur sākt.
  1. Klangs: Tas ir kompilators, kas ir trīs reizes ātrāks nekā GCC. Tā mērķauditorija ir C, C ++ un Objective-C. Clang kļūdas un brīdinājumus ir vieglāk saprast. Tam ir arī statiskā analizatora rīks. Pats statiskā analizatora rīks ir veidots, izmantojot Clang kompilatoru.
  1. LLDB: Tas ir atkļūdotājs. Tas ir ātrāks un efektīvāks nekā GDB. Atkļūdotājs ir veidots, izmantojot Clang un LLVM Core.
  1. libc ++ un libc ++ ABI: Labāka C ++ STD ieviešana.
  1. sastādītājs-rt: Tas nodrošina atbalstu zema līmeņa kodam. Tam ir arī izpildlaika bibliotēkas dinamiskai testēšanai.
  1. OpenMP: Atvērtā daudzapstrāde (OpenMP) ir API, kas palīdz daudzsavienojumam. Šis projekts atbalsta vietējo OpenMP izpildlaiku, ko var izmantot kopā ar Clang.
  1. Polijs: LLVM pasaulē tas ir augsta līmeņa cilpa un datu lokalizācijas optimizētājs. Tas optimizē atmiņas piekļuves modeļus programmām.
  1. libclc: OpenCL bibliotēka.
  1. klee: Tā ir simboliska virtuālā mašīna. Jūs varat izmantot klee, lai šķērsotu visus programmas dinamiskos ceļus, lai atrastu problēmas. Iekārta var ražot automatizētus testa gadījumus.
  1. DROŠĪBAS KODS: Tas ir C / C ++ kompilators, lai garantētu atmiņas drošību. Tas ir lielisks līdzeklis kiberdrošības ekspertu izpētei. Tas var palīdzēt atklāt atmiņas drošības kļūdas.
  1. lld: Tas veido saiti darbam ar Clang un LLVM.

LLVM ir slavena ar tīrāku bināru izveidi nekā GCC. LLVM ir arī ārēji projekti, kurus var izmantot Python, Haskell, PHP, LUA, Ruby un citu valodu apkopošanai. LLVM tiek uzskatīts par daudzpusīgu, elastīgu un atkārtoti lietojamu risinājumu. Tātad tas kļūst arvien populārāks attīstības kopienā. To izmanto kā JIT kompilatorus iegultām valodām. LLVM tiek izmantots arī superdatoriem. Plašais izstrādātāju kopienas atbalsts padara to par spēcīgu rīku.

Turpmāka izpēte:

Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...
Instalējiet jaunāko Dolphin emulatoru Gamecube un Wii operētājsistēmai Linux
Delfīnu emulators ļauj jums spēlēt izvēlētās Gamecube un Wii spēles Linux personālajos datoros (PC). Tā kā Dolphin Emulator ir brīvi pieejams un atvē...