Programavimas

8 puikios bibliotekos C ++ programavimui

C ++ yra bendrosios paskirties sistemų programavimo kalba, kuriai jau daugiau nei 40 metų, sukurta 1979 m. Toli gražu neprarandant garo, C ++ vis dar yra kelių programavimo kalbų populiarumo indeksų viršuje.

Išlyginti C ++ naudojimo kelią yra platus kalbos palaikymas tarp IDE kūrėjų, redaktorių, kompiliatorių, testavimo sistemų, kodo kokybės ir kitų įrankių. Programinės įrangos kūrėjai taip pat turi daug puikių bibliotekų, kurios padės kurti C ++ programas. Čia yra aštuoni, kuriais remiasi „C ++“ kūrėjai.

Aktyvi šablonų biblioteka

Iš „Microsoft“ „Active Template Library“ (ATL) yra C ++ klasių rinkinys, skirtas kurti COM („Common Object Model“) objektus, palaikant COM funkcijas, pvz., Dvigubas sąsajas, standartines COM sąrašo sąsajas, ryšio taškus ir „ActiveX“ valdiklius. Prieinama su „Visual Studio IDE“, ATL gali būti naudojama kuriant vieno sriegio objektus, buto modelio objektus, laisvo sriegio modelio objektus arba tiek laisvo sriegio, tiek buto modelio objektus.

„Asio C ++“ biblioteka

Asio C ++ biblioteka naudojama tinklo ir žemo lygio įvesties / išvesties programavimui, siūlanti nuoseklų asinchroninį modelį. Pateikdamas pagrindinius lygiagretumo, „C ++“ tinklų ir kitų tipų įvesties / išvesties elementus, „Asio“ buvo naudojamas įvairiose programose, pradedant išmaniųjų telefonų programomis ir žaidimais, baigiant itin interaktyviomis svetainėmis ir realiuoju laiku atliekamų operacijų sistemomis. Projektai, naudojantys „Asio“, apima „WebSocketPP“ biblioteką ir „Lua“ kalbos nuotolinį derintuvą DDT3. „Asio“ galima įsigyti kaip nemokamą atvirąjį šaltinį pagal „Boost“ programinės įrangos licenciją ir palaikomą „Linux“, „Windows“, „MacOS“ ir „FreeBSD“.

Eigen

„Eigen“ yra linijinės algebros C ++ šablonų biblioteka, apimanti matricas, vektorius, skaitinius sprendėjus ir susijusius algoritmus. Palaikomi visi matricos dydžiai, nuo mažų, fiksuotų matricų iki savavališkai didelių, tankių matricų. Algoritmai parenkami dėl patikimumo. Palaikomi visi standartiniai skaitiniai tipai. Siekdamas greičio, „Eigen“ pateikia išraiškos šablonus, kad protingai pašalintų laikinus dalykus ir leistų tingiai įvertinti. „Eigen“, kurią galima laisvai įsigyti pagal „Mozilla Public License 2“ ir atsisiųsti iš „Eigen“ projekto puslapio, buvo įdiegta API, kurią šalininkai apibūdino kaip išraiškingą, švarų ir natūralų „C ++“ programuotojams. „Eigen“ testų rinkinys buvo paleistas prieš daugelį kompiliatorių, kad būtų užtikrintas patikimumas.

„FloatX“

„FloatX“ arba „Float eXtended“ yra tik antraštės biblioteka, skirta mažo tikslumo, slankiojo kablelio tipo imitacijai. Nors „FloatX“ yra natūraliai suderinamas su kompiliatoriais, „FloatX“ gali būti vadinamas kitomis kalbomis, tokiomis kaip „Python“ ar „Fortran“. Plūduriuojančių taškų tipai yra išplėsti už vietinių viengubo ir dvigubo tikslumo tipų. Pateikiami šablonų tipai, leidžiantys vartotojui pasirinkti eksponentui naudojamų bitų skaičių, taip pat reikšmingas slankiojo kablelio skaičiaus dalis. „FloatX“ remiasi „FlexFloat“ bibliotekos idėja, skirta imituoti mažesnio tikslumo plūduriuojančius tipus, tačiau įgyvendina „FlexFloat“ funkcijų supaprastintą rinkinį C ir pateikia „C ++“ pakuotes. „FloatX“ atsirado iš „Open Transprecision Computing“ iniciatyvos. Jį galima nemokamai gauti naudojant „Apache License 2.0“.

„OpenCV“

„OpenCV“ arba „Open Source Computer Vision Library“ yra kompiuterio vizijos ir mašininio mokymosi biblioteka, parašyta gimtąja kalba C ++ ir prieinama pagal BSD licenciją. „OpenCV“ buvo sukurta tam, kad būtų sukurta bendra kompiuterių vizijos programų infrastruktūra ir pagreitintas mašinos suvokimo naudojimas komerciniuose produktuose. Daugiau nei 2500 optimizuotų algoritmų, skirtų veido atpažinimui, objektų aptikimui, objektų klasifikavimui, 3D modelių išskyrimui, vaizdų paieškai ir daugeliui kitų dalykų, „OpenCV“ sukaupė daugiau nei 47 000 asmenų vartotojų bendruomenę. Biblioteka, kurią galima rasti „OpenCV“ projekto svetainėje, teikia C ++, „Java“, „Python“ ir „Matlab“ sąsajas ir palaiko „Windows“, „Linux“, „Android“ ir „MacOS“. Kuriamos CUDA ir OpenCL sąsajos.

„Poco C ++“ bibliotekos

Skirta supaprastinti C ++ plėtrą, „Poco“ (Nešiojamieji komponentai) „C ++“ bibliotekos yra daugiaplatformės C ++ bibliotekos, skirtos kurti interneto ir tinklo programas, veikiančias sistemose, pradedant darbalaukiais ir serveriais, baigiant mobiliaisiais ir daiktų interneto įrenginiais. Bibliotekos taip pat gali būti naudojamos kuriant mikropaslaugas su REST API mašininiam mokymuisi ar duomenų analizei. „Poco“ bibliotekos pagal savo koncepciją yra panašios į „Java Class Library“, „Microsoft .NET Framework“ ar „Apple Cocoa“.

Kūrėjai gali naudoti „Poco“ bibliotekas kurdami programų serverius C ++, kurie bendrauja su SQL duomenų bazėmis, „Redis“ ar „MongoDB“, arba kuriant programinę įrangą IoT įrenginiams, kurie kalba su debesų programomis. Tarp bibliotekų funkcijų yra talpyklos sistema, HTML formų tvarkymas, FTP klientas failams perduoti ir HTTP serveris bei klientas. „Poco“ bibliotekas galima nemokamai įsigyti pagal „Boost“ programinės įrangos licenciją ir atsisiųsti iš „GitHub“.

„Windows“ šablonų biblioteka

Iš pradžių iš „Microsoft“ „Windows“ šablonų biblioteka (WTL) yra (nuo 2004 m.) Atvirojo kodo biblioteka lengvoms „Windows“ programoms ir vartotojo sąsajos komponentams kurti. Vietoje „Microsoft Foundation Classes“ priemonių rinkinio alternatyvos WTL išplečia ATL ir pateikia klasių rinkinį valdikliams, dialogo langams, rėmelių langams ir GDI objektams.

Wt

Wt yra žiniatinklio GUI biblioteka šiuolaikinėje C ++, leidžianti kūrėjams kurti interaktyvias žiniatinklio vartotojo sąsajas su valdikliais, nereikia rašyti „JavaScript“. Serverio pusės sprendimas Wt reikalauja užklausų tvarkymo ir puslapių pateikimo, suteikdamas įmontuotą saugumą, PDF atvaizdavimą, 2D ir 3D tapybos sistemas, objektų-reliacijų žemėlapių biblioteką, diagramų biblioteką ir autentifikavimo sistemą. Pagrindinė biblioteka yra atviro kodo, teikianti hibridinę vieno puslapio struktūrą, kurią galima įdiegti „Linux“, „Unix“ ar „Windows“.

Sukurta programinės įrangos inžinerijos bendrovės „Emweb“, „Wt“ yra suderinama su HTML5 ir HTML4 naršyklėmis, taip pat su paprastais HTML vartotojų agentais. „Wt“ gali integruotis su trečiųjų šalių „JavaScript“ bibliotekomis. Naudojant Wt, programa apibrėžiama kaip valdiklių hierarchija - pradedant nuo bendrųjų valdiklių, tokių kaip mygtukai, iki specializuotų valdiklių, tokių kaip visas tinklaraščio valdiklis. Valdiklių medis naršyklėje pateikiamas kaip HTML / „JavaScript“. Wt galima atsisiųsti iš projekto tinklalapio. Galimos ir atvirojo kodo, ir komercinio naudojimo sąlygos.

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