Programmēšana

8 lieliskas bibliotēkas C ++ programmēšanai

C ++ ir vispārējas nozīmes sistēmu programmēšanas valoda, kurai tagad ir vairāk nekā 40 gadu, un tā tika izstrādāta 1979. gadā. Tālu no tvaika zaudēšanas C ++ joprojām atrodas vairāku programmēšanas valodu popularitātes indeksu augšgalā.

C ++ lietošanas ceļa izlīdzināšana ir plašs valodas atbalsts starp IDE veidotājiem, redaktoriem, kompilatoriem, testa ietvariem, koda kvalitāti un citiem rīkiem. Programmatūras izstrādātāju rīcībā ir arī daudzas izcilas bibliotēkas, kas palīdz veidot C ++ lietojumprogrammas. Šeit ir astoņi, uz kuriem paļaujas C ++ izstrādātāji.

Aktīvā veidņu bibliotēka

No Microsoft puses aktīvo veidņu bibliotēka (ATL) ir C ++ klašu komplekts COM (kopēja objekta modeļa) objektu veidošanai, atbalstot tādas COM funkcijas kā dubultās saskarnes, standarta COM uzskaitītāja saskarnes, savienojuma punkti un ActiveX vadīklas. Pieejams ar Visual Studio IDE, ATL var izmantot, lai izveidotu objektus ar vienu vītni, dzīvokļa modeļa objektus, brīvi vītņotus modeļa objektus vai gan brīvu vītņu, gan dzīvokļa modeļa objektus.

Asio C ++ bibliotēka

Asio C ++ bibliotēka tiek izmantota tīkla un zema līmeņa I / O programmēšanai, piedāvājot konsekventu asinhrono modeli. Nodrošinot pamata blokus vienlaicīgumam, C ++ tīklošanai un cita veida I / O, Asio ir izmantots lietojumprogrammās, sākot no viedtālruņu lietotnēm un spēlēm līdz ļoti interaktīvām vietnēm un reāllaika darījumu sistēmām. Projektos, kas izmanto Asio, ir WebSocketPP bibliotēka un LD valodas attālais atkļūdotājs DDT3. Asio ir pieejams kā bezmaksas atvērtais avots ar Boost programmatūras licenci un tiek atbalstīts Linux, Windows, MacOS un FreeBSD.

Eigen

Eigen ir C ++ veidņu bibliotēka lineārai algebrai, ieskaitot matricas, vektorus, skaitliskos risinātājus un saistītos algoritmus. Tiek atbalstīti visi matricu izmēri, sākot no mazām, fiksētām matricām līdz patvaļīgi lielām, blīvām matricām. Algoritmi tiek izvēlēti uzticamībai. Tiek atbalstīti visi standarta ciparu veidi. Ātrumam Eigen piedāvā izteiksmes veidnes, lai saprātīgi noņemtu īslaicīgo laiku un ļautu veikt slinku novērtēšanu. Eigen ir brīvi pieejams ar Mozilla publisko licenci 2 un ir lejupielādējams no Eigen projekta lapas. Tam ir uzstādīta API, ko proponenti aprakstījuši kā izteiksmīgu, tīru un dabisku C ++ programmētājiem. Lai nodrošinātu uzticamību, Eigen testēšanas komplekts ir palaists pret daudziem kompilatoriem.

FloatX

FloatX vai Float eXtended ir tikai galvenes bibliotēka zemas precizitātes peldošā komata tipa atdarināšanai. Kaut arī dabiski saderīgs ar C ++ kompilatoriem, FloatX var izsaukt citās valodās, piemēram, Python vai Fortran. Peldošo punktu tipi tiek paplašināti ārpus vietējiem vienas un divkāršās precizitātes tipiem. Tiek nodrošināti veidņu veidi, kas ļauj lietotājam izvēlēties eksponentam izmantoto bitu skaitu, kā arī būtiskas peldošā komata skaitļa daļas. FloatX ir balstīts uz FlexFloat bibliotēkas ideju, lai atdarinātu samazinātas precizitātes peldošus tipus, taču tas īsteno FlexFloat funkcionalitātes virsgrupu C un nodrošina C ++ iesaiņotājus. FloatX radās no iniciatīvas Open Transprecision Computing. Tas ir pieejams bez maksas ar Apache License 2.0.

OpenCV

OpenCV jeb atvērtā koda datorvīzijas bibliotēka ir datorvīzijas un mašīnmācīšanās bibliotēka, kas rakstīta C ++ valodā un ir pieejama ar BSD licenci. OpenCV tika izveidots, lai nodrošinātu kopēju infrastruktūru datora redzamības lietojumprogrammām un paātrinātu mašīnu uztveres izmantošanu komerciālos produktos. Vairāk nekā 2500 optimizētu algoritmu sejas atpazīšanai, objektu noteikšanai, objektu klasifikācijai, 3D modeļu iegūšanai, attēlu meklēšanai un daudz ko citu. OpenCV ir uzkrājis lietotāju kopienu, kurā ir vairāk nekā 47 000 cilvēku. Bibliotēka, kas pieejama no OpenCV projekta vietnes, nodrošina C ++, Java, Python un Matlab saskarnes un atbalsta Windows, Linux, Android un MacOS. Tiek izstrādātas CUDA un OpenCL saskarnes.

Poco C ++ bibliotēkas

Paredzēts vienkāršot C ++ izstrādi, Poco (Portable Components) C ++ bibliotēkas ir starpplatformu C ++ bibliotēkas, kas paredzētas interneta un tīkla lietojumprogrammu veidošanai, lai tās darbotos sistēmās, sākot no galddatoriem un serveriem līdz mobilajām un IoT ierīcēm. Bibliotēkas var izmantot arī, lai izveidotu mikropakalpojumus ar REST API mašīnmācībai vai datu analīzei. Poco bibliotēkas pēc savas koncepcijas ir līdzīgas Java klases bibliotēkai, Microsoft .NET Framework vai Apple Cocoa.

Izstrādātāji var izmantot Poco bibliotēkas, lai izveidotu lietojumprogrammu serverus C ++, kas runā ar SQL datu bāzēm, Redis vai MongoDB, vai lai izveidotu programmatūru IoT ierīcēm, kas runā ar mākoņa aizmugurēm. Starp bibliotēku funkcijām ir kešatmiņas sistēma, HTML veidlapu apstrāde, FTP klients failu pārsūtīšanai, kā arī HTTP serveris un klients. Poco bibliotēkas ir pieejamas bez maksas ar programmatūras Boost licenci un lejupielādējamas vietnē GitHub.

Windows veidņu bibliotēka

Sākotnēji Microsoft izstrādātā Windows veidņu bibliotēka (WTL) (kopš 2004. gada) ir atvērtā pirmkoda bibliotēka vieglu Windows lietojumprogrammu un lietotāja saskarnes komponentu veidošanai. Novietots kā alternatīva rīkam Microsoft Foundation Classes, WTL paplašina ATL un nodrošina klašu kopu vadīklām, dialoglodziņiem, rāmja logiem un GDI objektiem.

Wt

Wt ir tīmekļa GUI bibliotēka mūsdienu C ++ versijā, kas ļauj izstrādātājiem veidot interaktīvas tīmekļa lietotāja saskarnes ar logrīkiem, nerakstot JavaScript. Servera puses risinājums Wt pieprasa apstrādi un lapu renderēšanu, nodrošinot iebūvētu drošību, PDF renderēšanu, 2D un 3D krāsošanas sistēmu, objektu relāciju kartēšanas bibliotēku, diagrammu bibliotēku un autentifikācijas ietvaru. Galvenā bibliotēka ir atvērta pirmkoda, kas nodrošina hibrīdu vienas lapas struktūru, kuru var izvietot Linux, Unix vai Windows.

Izstrādājis programmatūras inženierijas uzņēmums Emweb, Wt ir saderīgs ar HTML5 un HTML4 pārlūkiem, kā arī ar vienkāršiem HTML lietotāju aģentiem. Un Wt var integrēt ar trešo pušu JavaScript bibliotēkām. Izmantojot Wt, lietojumprogramma tiek definēta kā logrīku hierarhija - sākot no vispārīgiem logrīkiem, piemēram, spiedpogām, līdz specializētiem logrīkiem, piemēram, visu emuāra logrīku. Logrīka koks pārlūkprogrammā tiek atveidots kā HTML / JavaScript. Wt var lejupielādēt no projekta tīmekļa lapas. Ir pieejami gan atvērtā pirmkoda, gan komerciālie lietošanas noteikumi.

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