LLVM

Mis on LLVM?

Mis on LLVM?

Mis on LLVM ja miks see on kasulik?

LLVMi katuse all töötavad mitmed miniprojektid. Miniprojektid käsitlevad peamiselt kompilaatorite tehnoloogiaid. Tundub, et LLVM-i nimetamisel on segadust. Inimesed eeldavad ekslikult, et see on seotud virtuaalsete masinatega. Ühendust pole. Termin LLVM ei tähenda midagi. See on lihtsalt nimi, mida projekti alguses kasutati.

LLVM-i projekti juhitakse BSD-stiilis „UIUC” litsentsi alusel. Projekt sai alguse Illinoisi ülikoolist. Sellest ajast alates on see populaarsust kogunud ja seda on kasutatud paljude erinevate projektide jaoks. See on eriti populaarne akadeemilistes ringkondades. Projekti peamine eesmärk on pakkuda erinevate programmeerimiskeelte SSA-põhist staatilist ja dünaamilist kompileerimist.

Siin on LLVM-i miniprojekt:

  1. LLVM tuum: Põhiraamatukogud pakuvad protsessoritele optimeerija ja koodi genereerimise tuge. LLVM IR (vaheesindus) loob raamatukogudele aluse. Kogukond on LLVM Core'i dokumenteerimisel teinud head tööd. Nii saate neid teeke hõlpsalt kasutada uue programmeerimiskeele loomiseks või olemasoleva kompilaatori pordi loomiseks. Kui soovite nendele territooriumidele seigelda, on LLVM Core hea koht alustamiseks.
  1. Klang: See on kompilaator, mis on kolm korda kiirem kui GCC. See on suunatud C, C ++ ja Objective-C. Clangi vigadest ja hoiatustest on lihtsam aru saada. Sellel on ka staatilise analüsaatori tööriist. Staatilise analüsaatori tööriist ise on loodud Clangi kompilaatori abil.
  1. LLDB: See on silur. See on kiirem ja tõhusam kui GDB. Silur on loodud Clangi ja LLVM Core abil.
  1. libc ++ ja libc ++ ABI: C ++ STD parem rakendamine.
  1. koostaja-rt: See pakub tuge madala taseme koodile. Sellel on ka dünaamilise testimise jaoks tööajaga teegid.
  1. OpenMP: Open Multi-Processing (OpenMP) on API, mis aitab mitmikeermelist töötamist. See projekt toetab OpenMP-i loomulikku käitamisaega, mida saab kasutada koos Clangiga.
  1. Polly: LLVM-maailmas on see kõrgetasemeline silmus ja andmeside-asukoha optimeerija. See optimeerib programmide mälule juurdepääsu mustreid.
  1. libclc: OpenCL-i teek.
  1. klee: See on sümboolne virtuaalne masin. Klee abil saate probleemide leidmiseks läbida kõik programmi dünaamilised teed. Masin suudab toota automatiseeritud testjuhtumeid.
  1. OHUTUSKOOD: See on C / C ++ kompilaator mälu ohutuse tagamiseks. See on suurepärane vahend küberturvalisuse ekspertidele. See võib aidata tuvastada mälu turvalisuse vigu.
  1. lld: See loob linkeri Clangi ja LLVM-iga töötamiseks.

LLVM-il on puhtamate binaarrakkude loomise maine kui GCC-l. Samuti on LLVM-il väliseid projekte, mida saab kasutada Pythoni, Haskelli, PHP, LUA, Ruby ja teiste keelte kompileerimiseks. LLVM-i peetakse mitmekülgseks, paindlikuks ja korduvkasutatavaks lahenduseks. Nii et see on arengukogukonnas järjest populaarsust kogumas. Seda kasutatakse manustatud keelte JIT-kompilaatoritena. LLVM-i kasutatakse ka superarvutite jaoks. Arendajaskonna laialdane tugi teeb sellest tugeva tööriista.

Edasine uuring:

Kasulikud tööriistad Linuxi mängijatele
Kui teile meeldib Linuxis mänge mängida, on tõenäoline, et olete mängukogemuse parandamiseks kasutanud selliseid rakendusi ja utiliite nagu Wine, Lutr...
HD Remastered Games Linuxile, millel pole kunagi varem Linuxi väljalaset olnud
Paljud mängude arendajad ja kirjastajad pakuvad frantsiisi eluea pikendamiseks välja vanade mängude HD-remasteri. Palun fännid, kes soovivad ühilduvus...
Kuidas kasutada AutoKeyt Linuxi mängude automatiseerimiseks
AutoKey on Linuxi ja X11 töölaua automatiseerimise utiliit, mis on programmeeritud Python 3, GTK ja Qt. Selle skriptimise ja MACRO funktsionaalsuse ab...