Programovanie

8 skvelých knižníc pre programovanie v C ++

C ++ je univerzálny programovací jazyk systémov, ktorý je dnes už viac ako 40 rokov starý a bol navrhnutý v roku 1979. C ++ ani zďaleka nestráca paru a stále sa radí k špičke viacerých indexov popularity programovacieho jazyka.

Vyladením cesty k použitiu C ++ je rozsiahla podpora jazyka medzi tvorcami IDE, editormi, kompilátormi, testovacími rámcami, kvalitou kódu a ďalšími nástrojmi. Softvéroví vývojári majú tiež k dispozícii veľa vynikajúcich knižníc, ktoré pomáhajú pri vytváraní aplikácií v C ++. Tu je osem, na ktoré sa vývojári v C ++ spoliehajú.

Knižnica aktívnych šablón

Z Microsoftu je Active Template Library (ATL) sada tried C ++ na vytváranie objektov COM (Common Object Model) s podporou funkcií COM, ako sú duálne rozhrania, štandardné rozhrania enumerátora COM, spojovacie body a ovládacie prvky ActiveX. K dispozícii s Visual Studio IDE, ATL možno použiť na vytváranie objektov s jedným vláknom, objektov bytového modelu, objektov s voľným vláknom alebo ako objektov s voľným vláknom aj s bytovým modelom.

Knižnica Asio C ++

Knižnica Asio C ++ sa používa na sieťové a nízkoúrovňové programovanie I / O a ponúka konzistentný asynchrónny model. Poskytuje základné stavebné prvky pre súbežnosť, sieť C ++ a ďalšie typy I / O. Asio sa používa v aplikáciách od aplikácií a hier pre smartphony po vysoko interaktívne webové stránky a transakčné systémy v reálnom čase. Medzi projekty využívajúce Asio patrí knižnica WebSocketPP a vzdialený ladiaci program DDT3 pre jazyk Lua. Asio je k dispozícii ako bezplatný otvorený zdroj pod licenciou Boost Software License a je podporovaný v systémoch Linux, Windows, MacOS a FreeBSD.

Vlastné

Eigen je knižnica šablón C ++ pre lineárnu algebru, ktorá obsahuje matice, vektory, numerické riešenia a súvisiace algoritmy. Podporované sú všetky veľkosti matíc, od malých pevných matíc až po ľubovoľne veľké husté matice. Pre spoľahlivosť sú vybrané algoritmy. Podporované sú všetky štandardné číselné typy. Pre rýchlosť obsahuje Eigen šablóny výrazov, ktoré inteligentne odstraňujú dočasné položky a umožňujú lenivé vyhodnotenie. Program Eigen, ktorý je voľne dostupný pod licenciou Mozilla Public License 2 a je k dispozícii na stiahnutie na stránke projektu Eigen, bol vybavený API, ktoré navrhovatelia navrhli ako expresívne a čisté a pre programátorov C ++ prirodzené. Testovacia sada pre Eigen bola spustená proti mnohým prekladačom kvôli zaisteniu spoľahlivosti.

FloatX

FloatX alebo Float eXtended je knižnica iba pre hlavičky pre emuláciu s pohyblivou rádovou čiarkou s nízkou presnosťou. Aj keď je FloatX natívne kompatibilný s kompilátormi C ++, je možné ho nazývať aj v iných jazykoch, ako je Python alebo Fortran. Typy s pohyblivou rádovou čiarkou sú rozšírené nad pôvodné typy jednoduchej a dvojitej presnosti. Poskytujú sa typy šablón, ktoré umožňujú používateľovi zvoliť počet bitov použitých pre exponent, ako aj významné časti čísla s pohyblivou rádovou čiarkou. FloatX je založený na myšlienke knižnice FlexFloat emulovať plávajúce typy so zníženou presnosťou, ale implementuje nadmnožinu funkcií FlexFloat v jazyku C a poskytuje obaly C ++. FloatX vzišiel z iniciatívy Open Transprecision Computing. Je k dispozícii zadarmo pod licenciou Apache 2.0.

OpenCV

OpenCV alebo Open Source Computer Vision Library je knižnica počítačového videnia a strojového učenia, ktorá je natívne napísaná v jazyku C ++ a je k dispozícii na základe licencie BSD. OpenCV bol postavený s cieľom poskytnúť spoločnú infraštruktúru pre aplikácie počítačového videnia a urýchliť využitie strojového vnímania v komerčných produktoch. Viac ako 2 500 optimalizovaných algoritmov pre rozpoznávanie tváre, detekciu objektov, klasifikáciu objektov, extrakciu 3D modelov, vyhľadávanie obrázkov a oveľa viac, OpenCV zhromaždil komunitu používateľov viac ako 47 000 osôb. Knižnica je k dispozícii na webových stránkach projektu OpenCV a poskytuje rozhrania C ++, Java, Python a Matlab a podporuje systémy Windows, Linux, Android a MacOS. Rozhrania CUDA a OpenCL sú vo vývoji.

Knižnice Poco C ++

Knižnice C ++ Poco (Portable Components) sú zamýšľané na zjednodušenie vývoja v C ++ a sú multiplatformné C ++ knižnice na vytváranie internetových a sieťových aplikácií, ktoré fungujú na systémoch od stolových počítačov a serverov po mobilné zariadenia a IoT. Knižnice sa dajú tiež použiť na vytváranie mikroslužieb s rozhraním REST API pre strojové učenie alebo analýzu údajov. Knižnice Poco sú koncepčne podobné ako Java Class Library, Microsoft .NET Framework alebo Apple Cocoa.

Vývojári môžu využiť knižnice Poco na vytváranie aplikačných serverov v C ++, ktoré hovoria s databázami SQL, Redis alebo MongoDB, alebo na vývoj softvéru pre zariadenia IoT, ktoré komunikujú s back-endmi cloudu. Medzi funkcie knižníc patrí rámec medzipamäte, spracovanie formulárov HTML, klient FTP na prenos súborov a server HTTP a klient. Knižnice Poco sú k dispozícii zadarmo pod licenciou Boost Software a možno ich stiahnuť z GitHubu.

Knižnica šablón systému Windows

Knižnica šablón Windows (WTL), ktorá je pôvodom od spoločnosti Microsoft, je (od roku 2004) knižnicou otvoreného zdroja na vytváranie ľahkých aplikácií a komponentov používateľského rozhrania systému Windows. Umiestnený ako alternatíva k súprave nástrojov Microsoft Foundation Classes, WTL rozširuje ATL a poskytuje množinu tried pre ovládacie prvky, dialógové okná, okná rámcov a objekty GDI.

Hm

Wt je webová knižnica grafického používateľského rozhrania v modernom jazyku C ++, ktorá umožňuje vývojárom vytvárať interaktívne webové používateľské rozhrania s widgetmi bez nutnosti písania kódu JavaScript. Riešenie na strane servera, spoločnosť Wt vyžaduje spracovanie a vykreslenie stránky, poskytuje zabudované zabezpečenie, vykreslenie PDF, 2D a 3D maliarsky systém, knižnicu objektovo-relačných máp, knižnicu grafov a autentifikačný rámec. Knižnica jadra je open source a poskytuje hybridný jednostránkový rámec, ktorý je možné nasadiť v systémoch Linux, Unix alebo Windows.

Wt, vyvinuté spoločnosťou Emweb zaoberajúcou sa softvérovým inžinierstvom, je kompatibilné s prehliadačmi HTML5 a HTML4, ako aj s obyčajnými používateľskými agentmi HTML. A Wt sa môže integrovať s knižnicami JavaScriptu tretích strán. V prípade Wt je aplikácia definovaná ako hierarchia widgetov - od všeobecných widgetov, ako sú tlačidlá, až po špecializované widgety, ako napríklad celý widget blogu. Strom widgetov sa v prehliadači vykresľuje ako HTML / JavaScript. Wt je možné stiahnuť z webovej stránky projektu. K dispozícii sú podmienky otvoreného zdroja aj komerčné použitie.

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