Programiranje

8 odličnih knjižnic za programiranje na C ++

C ++ je sistemski programski jezik za splošno uporabo, ki je zdaj star več kot 40 let in je bil zasnovan leta 1979. Daleč od tega, da bi izgubil paro, še vedno sodi med vrh številnih indeksov priljubljenosti programskega jezika.

Izravnava poti do uporabe C ++ je široka podpora jeziku med ustvarjalci IDE-jev, urejevalniki, prevajalniki, testnimi okviri, kakovostjo kode in drugimi orodji. Razvijalci programske opreme imajo na voljo tudi številne odlične knjižnice za pomoč pri izdelavi aplikacij C ++. Tu je osem, na katere se zanesejo razvijalci za C ++.

Knjižnica aktivnih predlog

Microsoftova knjižnica aktivnih predlog (ATL) je nabor razredov C ++ za gradnjo objektov COM (Common Object Model) s podporo funkcij COM, kot so dvojni vmesniki, standardni vmesniki števca COM, priključne točke in kontrolniki ActiveX. Na voljo z Visual Studio IDE, ATL se lahko uporablja za izdelavo enonitnih predmetov, predmetov stanovanjskega modela, predmetov prostega navoja ali objektov s prostim navojem in stanovanjskih modelov.

Knjižnica Asio C ++

Knjižnica Asio C ++ se uporablja za omrežno in nizko nivojsko programiranje V / I in ponuja dosleden asinhroni model. Asio ponuja osnovne gradnike za sočasnost, mreženje C ++ in druge vrste V / I, ki se uporablja v aplikacijah, od aplikacij za pametne telefone in iger do zelo interaktivnih spletnih mest in transakcijskih sistemov v realnem času. Projekti, ki uporabljajo Asio, vključujejo knjižnico WebSocketPP in oddaljeni razhroščevalec DDT3 za jezik Lua. Asio je na voljo kot brezplačna odprta koda pod licenco Boost Software in je podprt v Linuxu, Windows, MacOS in FreeBSD.

Eigen

Eigen je knjižnica predlog C ++ za linearno algebro, vključno z matricami, vektorji, numeričnimi rešitvami in sorodnimi algoritmi. Podprte so vse velikosti matric, od majhnih, fiksnih matrik do poljubno velikih, gostih matric. Za zanesljivost so izbrani algoritmi. Podprti so vsi standardni številski tipi. Za hitrost ima Eigen predloge izrazov, s katerimi inteligentno odstrani začasne ure in omogoči leno vrednotenje. Eigen je brezplačno dostopen pod Mozilla Public License 2 in ga je mogoče prenesti s strani projekta Eigen. Vgrajen je bil API, ki so ga zagovorniki opisali kot ekspresiven, čist in naraven za programerje C ++. Testni paket za Eigen je bil zagnan proti številnim prevajalnikom, da se zagotovi zanesljivost.

FloatX

FloatX ali Float eXtended je knjižnica samo z glavo za nizko natančno emulacijo s plavajočo vejico. Čeprav je izvorno združljiv s prevajalniki C ++, lahko FloatX pokličejo drugi jeziki, kot sta Python ali Fortran. Tipi s plavajočo vejico so razširjeni nad naravne tipe enojne in dvojne natančnosti. Na voljo so vrste predlog, ki uporabniku omogočajo, da izbere število bitov, uporabljenih za eksponent, in pomembne dele števila s plavajočo vejico. FloatX temelji na zamisli knjižnice FlexFloat za posnemanje plavajočih tipov z zmanjšano natančnostjo, vendar v C-ju implementira nabor funkcionalnosti FlexFloat in ponuja ovojnice C ++. FloatX je nastal iz pobude Open Transprecision Computing. Na voljo je brezplačno pod licenco Apache 2.0.

OpenCV

OpenCV ali Open Source Computer Vision Library je knjižnica računalniškega vida in strojnega učenja, napisana v jeziku C ++ in na voljo pod licenco BSD. OpenCV je bil zgrajen tako, da zagotavlja skupno infrastrukturo za aplikacije računalniškega vida in pospešuje uporabo zaznavanja strojev v komercialnih izdelkih. Z več kot 2500 optimiziranimi algoritmi za prepoznavanje obrazov, zaznavanje predmetov, klasifikacijo predmetov, ekstrakcijo 3D-modelov, iskanje slik in še veliko več je OpenCV nabral uporabniško skupnost z več kot 47.000 osebami. Knjižnica je na voljo na spletnem mestu projekta OpenCV in ponuja vmesnike C ++, Java, Python in Matlab ter podpira Windows, Linux, Android in MacOS. Vmesnika CUDA in OpenCL sta v razvoju.

Poco C ++ knjižnice

Knjižnice C ++ Poco (prenosne komponente), namenjene poenostavitvi razvoja C ++, so medplatformne knjižnice C ++ za gradnjo internetnih in omrežnih aplikacij za delovanje v sistemih, ki segajo od namizja in strežnikov do mobilnih naprav in naprav IoT. Knjižnice lahko uporabimo tudi za izdelavo mikro storitev z API-ji REST za strojno učenje ali analitiko podatkov. Knjižnice Poco so po konceptu podobne knjižnici Java Class, Microsoftovem .NET Framework ali Apple Cocoa.

Razvijalci lahko uporabljajo knjižnice Poco za izdelavo aplikacijskih strežnikov v jeziku C ++, ki se pogovarjajo z bazami podatkov SQL, Redis ali MongoDB, ali za izdelavo programske opreme za naprave IoT, ki se pogovarjajo z zalednimi oblaki v oblaku. Med značilnostmi knjižnic so okvir predpomnilnika, obdelava obrazcev HTML, odjemalec FTP za prenos datotek ter strežnik in odjemalec HTTP. Poco knjižnice so na voljo brezplačno pod licenco Boost Software in jih lahko naložite iz GitHub.

Knjižnica predlog Windows

Prvotno od Microsofta je Windows Template Library (WTL) (od leta 2004) odprtokodna knjižnica za izdelavo lahkih aplikacij Windows in komponent uporabniškega vmesnika. WTL, postavljen kot alternativa orodju Microsoft Foundation Classes, razširja ATL in ponuja nabor razredov za kontrolnike, pogovorna okna, okna okvirjev in predmete GDI.

Wt

Wt je spletna knjižnica GUI v sodobnem jeziku C ++, ki razvijalcem omogoča, da z gradniki oblikujejo interaktivne spletne uporabniške vmesnike, ne da bi morali pisati JavaScript. Rešitev na strežniški strani, Wt, zahteva obdelavo in upodabljanje strani, ki zagotavlja vgrajeno varnost, upodabljanje PDF, 2D in 3D sistem za slikanje, objektno-relacijsko knjižnico preslikav, knjižnico grafikonov in okvir za preverjanje pristnosti. Osnovna knjižnica je odprtokodna in ponuja hibridni okvir z eno stranjo, ki ga je mogoče namestiti v Linux, Unix ali Windows.

Wt, ki ga je razvilo podjetje Emweb za programsko inženirstvo, je združljiv z brskalniki HTML5 in HTML4 ter z običajnimi uporabniškimi agenti HTML. In Wt se lahko integrira s knjižnicami JavaScript drugih proizvajalcev. Z Wt je aplikacija definirana kot hierarhija pripomočkov - od splošnih pripomočkov, kot so gumbi, do specializiranih pripomočkov, kot je celoten pripomoček spletnega dnevnika. Drevo gradnikov se v brskalniku upodobi kot HTML / JavaScript. Wt lahko prenesete s spletne strani projekta. Na voljo so tako odprtokodni kot komercialni pogoji uporabe.

$config[zx-auto] not found$config[zx-overlay] not found