Ohjelmointi

8 upeaa kirjastoa C ++ -ohjelmointiin

C ++ on yleiskäyttöinen, yli 40 vuotta vanha ohjelmointikieli, joka on suunniteltu vuonna 1979. C ++ on edelleen lähellä monien ohjelmointikielien suosioindeksien kärkeä.

C ++ -käytön tasoittaminen on laaja tuki kielelle IDE-käyttäjien, toimittajien, kääntäjien, testikehysten, koodin laadun ja muiden työkalujen valmistajien keskuudessa. Ohjelmistokehittäjillä on käytettävissään myös monia erinomaisia ​​kirjastoja, jotka auttavat C ++ -sovellusten rakentamisessa. Tässä on kahdeksan, joihin C ++ -kehittäjät luottavat.

Aktiivinen mallikirjasto

Microsoft tarjoaa Active Template Library (ATL) -sarjan joukon C ++ -luokkia COM (Common Object Model) -objektien rakentamiseen, ja se tukee COM-ominaisuuksia, kuten kaksoisrajapintoja, tavallisia COM-luettelointiliittymiä, yhteyspisteitä ja ActiveX-komponentteja. ATL: ää, joka on saatavana Visual Studio IDE: n kanssa, voidaan käyttää yksisäikeisten objektien, huoneistomalliesineiden, vapaakierteisten malliesineiden tai sekä vapaakierteisten että asuntomallikohteiden rakentamiseen.

Asio C ++ -kirjasto

Asio C ++ -kirjastoa käytetään verkko- ja matalan tason I / O-ohjelmointiin, joka tarjoaa yhtenäisen asynkronisen mallin. Tarjoten peruselementtejä samanaikaisuudelle, C ++ -verkkoille ja muille I / O-tyypeille, Asiota on käytetty sovelluksissa älypuhelinsovelluksista ja peleistä erittäin vuorovaikutteisiin verkkosivustoihin ja reaaliaikaisiin tapahtumajärjestelmiin. Asioa käyttäviin projekteihin kuuluvat WebSocketPP-kirjasto ja Dua-Debugger Lua -kielelle. Asio on saatavana ilmaisena avoimena lähdekoodina Boost-ohjelmistolisenssillä, ja sitä tuetaan Linuxissa, Windowsissa, MacOS: ssa ja FreeBSD: ssä.

Eigen

Eigen on C ++ -mallikirjasto lineaariselle algebralle, mukaan lukien matriisit, vektorit, numeeriset ratkaisijat ja niihin liittyvät algoritmit. Kaikki matriisikoot tuetaan pienistä kiinteistä matriiseista mielivaltaisesti suuriin, tiheisiin matriiseihin. Algoritmit valitaan luotettavuuden vuoksi. Kaikki tavalliset numerotyypit ovat tuettuja. Nopeuden vuoksi Eigen sisältää lausekemallit älykkäästi väliaikaisen poistamisen ja laiskan arvioinnin mahdollistamiseksi. Vapaasti saatavana Mozilla Public License 2: lla ja ladattavissa Eigen-projektisivulta Eigen on varustettu API: lla, jonka kannattajat kuvailevat ilmeikkäänä, puhtaana ja luonnollisena C ++ - ohjelmoijille. Eigenin testipaketti on luotu monien kääntäjien kanssa luotettavuuden varmistamiseksi.

FloatX

FloatX tai Float eXtended on vain otsikkokirjasto matalan tarkkuuden liukulukutyyppiseen emulointiin. FloatX on yhteensopiva C ++-kääntäjien kanssa, mutta sitä voidaan kutsua muilla kielillä, kuten Python tai Fortran. Liukulukutyypit laajennetaan natiivien yhden ja kahden tarkkuustyypin ulkopuolelle. Tarjotaan mallityyppejä, joiden avulla käyttäjä voi valita eksponentille käytettyjen bittien lukumäärän sekä merkittävät osat liukuluvun numerosta. FloatX perustuu FlexFloat-kirjaston ideaan jäljitellä pienitarkkoja kelluvia tyyppejä, mutta toteuttaa FlexFloat-toiminnallisuuden pääjoukon C: ssä ja tarjoaa C ++ -kääreitä. FloatX syntyi Open Transprecision Computing -aloitteesta. Se on saatavana ilmaiseksi Apache License 2.0: lla.

OpenCV

OpenCV, eli avoimen lähdekoodin tietokonevision kirjasto, on tietokonenäön ja koneoppimisen kirjasto, joka on kirjoitettu natiivisti C ++ - kielellä ja saatavana BSD-lisenssillä. OpenCV rakennettiin tarjoamaan yhteinen infrastruktuuri tietokonenäkösovelluksille ja nopeuttamaan koneentunnistuksen käyttöä kaupallisissa tuotteissa. Yli 2500 optimoitua algoritmia kasvojentunnistukseen, kohteiden havaitsemiseen, esineiden luokitteluun, 3D-mallien poimintaan, kuvahakuun ja paljon muuta. OpenCV on kerännyt yli 47 000 henkilön käyttäjäyhteisön. Kirjasto, joka on saatavana OpenCV-projektin verkkosivustolta, tarjoaa C ++, Java, Python ja Matlab -rajapinnat ja tukee Windowsia, Linuxia, Androidia ja MacOSia. CUDA- ja OpenCL-rajapinnat ovat kehitteillä.

Poco C ++ -kirjastot

C ++ -kehityksen yksinkertaistamiseksi Poco (Portable Components) C ++ -kirjastot ovat alustojen välisiä C ++ -kirjastoja Internet- ja verkkosovellusten rakentamiseen toimimaan järjestelmissä, jotka vaihtelevat työasemista ja palvelimista mobiililaitteisiin ja IoT-laitteisiin. Kirjastoja voidaan käyttää myös mikropalvelujen rakentamiseen REST-sovellusliittymillä koneoppimiseen tai data-analytiikkaan. Poco-kirjastot ovat konseptiltaan samanlaisia ​​kuin Java Class Library, Microsoftin .NET Framework tai Apple Cocoa.

Kehittäjät voivat käyttää Poco-kirjastoja rakentaakseen C ++ -sovelluspalvelimia, jotka keskustelevat SQL-tietokantojen, Rediksen tai MongoDB: n kanssa, tai rakentamaan ohjelmistoja IoT-laitteille, jotka keskustelevat pilvi-taustojen kanssa. Kirjastojen ominaisuuksiin kuuluvat välimuistikehys, HTML-lomakekäsittely, FTP-asiakas tiedostojen siirtämiseen sekä HTTP-palvelin ja asiakas. Poco-kirjastot ovat saatavilla ilmaiseksi Boost-ohjelmistolisenssillä ja ladattavissa GitHubista.

Windowsin mallikirjasto

Alun perin Microsoftilta, Windows Template Library (WTL) on (vuodesta 2004 lähtien) avoimen lähdekoodin kirjasto kevyiden Windows-sovellusten ja käyttöliittymäkomponenttien rakentamiseen. Vaihtoehtona Microsoft Foundation Classes -työkalupaketille sijoitettu WTL laajentaa ATL: ää ja tarjoaa luokkakokonaisuuden ohjaimille, valintaikkunoille, kehysikkunoille ja GDI-objekteille.

Wt

Wt on web-käyttöliittymäkirjasto modernissa C ++: ssa, jonka avulla kehittäjät voivat rakentaa interaktiivisia web-käyttöliittymiä widgeteillä tarvitsematta kirjoittaa JavaScriptiä. Palvelinpuolen ratkaisu Wt pyytää käsittelyä ja sivujen renderointia tarjoamalla sisäänrakennetun suojauksen, PDF-hahmonnuksen, 2D- ja 3D-maalausjärjestelmän, objektisuhteellisen kartoituskirjaston, karttakirjaston ja todennuskehyksen. Ydinkirjasto on avoimen lähdekoodin, joka tarjoaa hybridisen yhden sivun kehyksen, joka voidaan ottaa käyttöön Linuxissa, Unixissa tai Windowsissa.

Ohjelmistosuunnitteluyrityksen Emwebin kehittämä Wt on yhteensopiva HTML5- ja HTML4-selainten sekä tavallisten HTML-käyttäjäagenttien kanssa. Ja Wt voi integroida kolmansien osapuolten JavaScript-kirjastoihin. Wt: n avulla sovellus määritellään widgetien hierarkiaksi - aina yleisistä widgeteistä kuten painikkeista erikoistuneisiin widgeteihin, kuten koko blogi-widget. Widget-puu renderöidään HTML / JavaScript selaimessa. Wt voidaan ladata projektin verkkosivulta. Sekä avoimen lähdekoodin että kaupallisen käytön ehdot ovat käytettävissä.

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