Programování

8 skvělých knihoven pro programování v C ++

C ++ je univerzální programovací jazyk pro systémy, který je nyní více než 40 let starý a byl navržen v roce 1979. C ++ není daleko od ztráty páry, ale stále se umisťuje na špici několika indexů popularity programovacího jazyka.

Vyhlazení cesty k používání C ++ je široká podpora jazyka mezi tvůrci IDE, editory, kompilátory, testovacími rámci, kvalitou kódu a dalšími nástroji. Vývojáři softwaru také mají k dispozici mnoho vynikajících knihoven, které pomáhají při vytváření aplikací v C ++. Tady je osm, na které se vývojáři v C ++ spoléhají.

Knihovna aktivních šablon

Z Microsoftu je Active Template Library (ATL) sada tříd C ++ pro vytváření objektů COM (Common Object Model) s podporou funkcí COM, jako jsou duální rozhraní, standardní rozhraní výčtu COM, připojovací body a ovládací prvky ActiveX. K dispozici s IDE sady Visual Studio, ATL lze použít k vytváření objektů s jedním vláknem, objektů modelu bytu, objektů modelu s volným závitem nebo jak objektů s volným závitem, tak s modelem bytu.

Knihovna Asio C ++

Knihovna Asio C ++ se používá pro síťové a nízkoúrovňové I / O programování a nabízí konzistentní asynchronní model. Poskytuje základní stavební kameny pro souběžnost, síť C ++ a další typy I / O a Asio se používá v aplikacích od aplikací pro smartphony a hry až po vysoce interaktivní webové stránky a transakční systémy v reálném čase. Projekty využívající Asio zahrnují knihovnu WebSocketPP a vzdálený ladicí program DDT3 pro jazyk Lua. Asio je k dispozici jako bezplatný otevřený zdroj pod licencí Boost Software License a je podporováno v systémech Linux, Windows, MacOS a FreeBSD.

Vlastní

Eigen je knihovna šablon C ++ pro lineární algebru, včetně matic, vektorů, numerických řešičů a souvisejících algoritmů. Podporovány jsou všechny velikosti matic, od malých pevných matic až po libovolně velké husté matice. Pro spolehlivost jsou vybrány algoritmy. Jsou podporovány všechny standardní číselné typy. Pro rychlost nabízí Eigen šablony výrazů, které inteligentně odstraní dočasné a povolí líné vyhodnocení. Volně dostupný pod licencí Mozilla Public License 2 a ke stažení na stránce projektu Eigen, byl Eigen vybaven API, které navrhovatelé navrhli jako expresivní a čisté a přirozené pro programátory C ++. Testovací sada pro Eigen byla spuštěna proti mnoha překladačům, aby byla zajištěna spolehlivost.

FloatX

FloatX nebo Float eXtended je knihovna pouze pro záhlaví pro emulaci typu s plovoucí desetinnou čárkou s nízkou přesností. I když je FloatX nativně kompatibilní s překladači C ++, lze jej volat jinými jazyky, jako je Python nebo Fortran. Typy s plovoucí desetinnou čárkou jsou rozšířeny nad rámec nativních typů jednoduché a dvojité přesnosti. K dispozici jsou typy šablon, které uživateli umožňují vybrat počet bitů použitých pro exponent i významné části čísla s plovoucí desetinnou čárkou. FloatX je založen na myšlence knihovny FlexFloat pro emulaci plovoucích typů se sníženou přesností, ale implementuje nadmnožinu funkcí FlexFloat v C a poskytuje obaly C ++. FloatX vznikl z iniciativy Open Transprecision Computing. Je k dispozici zdarma pod licencí Apache 2.0.

OpenCV

OpenCV nebo Open Source Computer Vision Library je knihovna pro počítačové vidění a strojové učení, která je nativně napsána v C ++ a je k dispozici na základě licence BSD. OpenCV byl postaven tak, aby poskytoval běžnou infrastrukturu pro aplikace počítačového vidění a urychloval používání vnímání strojů v komerčních produktech. Více než 2 500 optimalizovaných algoritmů pro rozpoznávání tváří, detekci objektů, klasifikaci objektů, extrakci 3D modelů, vyhledávání obrázků a mnoho dalšího, OpenCV nashromáždil uživatelskou komunitu více než 47 000 osob. Knihovna, která je k dispozici na webových stránkách projektu OpenCV, poskytuje rozhraní C ++, Java, Python a Matlab a podporuje Windows, Linux, Android a MacOS. Rozhraní CUDA a OpenCL jsou ve vývoji.

Knihovny Poco C ++

Knihovny C ++ Poco (Portable Components), určené ke zjednodušení vývoje v C ++, jsou multiplatformní C ++ knihovny pro vytváření internetových a síťových aplikací pro provoz na systémech od stolních počítačů a serverů po mobilní zařízení a zařízení IoT. Knihovny lze také použít k vytváření mikroslužeb pomocí rozhraní REST API pro strojové učení nebo analýzu dat. Knihovny Poco jsou koncepčně podobné knihovně tříd Java, rozhraní Microsoft .NET Framework nebo Apple Cocoa.

Vývojáři mohou používat knihovny Poco k vytváření aplikačních serverů v C ++, které komunikují s databázemi SQL, Redis nebo MongoDB, nebo k vytváření softwaru pro zařízení IoT, která komunikují s cloudovými back-endy. Mezi funkce knihoven patří rámec mezipaměti, zpracování formulářů HTML, klient FTP pro přenos souborů a server HTTP a klient. Knihovny Poco jsou k dispozici zdarma pod licencí Boost Software a lze je stáhnout z GitHubu.

Knihovna šablon Windows

Knihovna šablon Windows (WTL), původně od společnosti Microsoft, je (od roku 2004) knihovnou open source pro vytváření odlehčených aplikací Windows a komponent uživatelského rozhraní. Umístěný jako alternativa k sadě nástrojů Microsoft Foundation Classes, WTL rozšiřuje ATL a poskytuje sadu tříd pro ovládací prvky, dialogy, okna rámců a objekty GDI.

Hm

Wt je knihovna webového GUI v moderním C ++, která umožňuje vývojářům vytvářet interaktivní webové uživatelské rozhraní s widgety, aniž by museli psát JavaScript. Řešení na straně serveru, Wt vyžaduje zpracování a vykreslování stránek, poskytuje integrované zabezpečení, vykreslování PDF, 2D a 3D malířský systém, knihovnu objektově-relačních mapování, knihovnu mapování a rámec ověřování. Základní knihovna je open source a poskytuje hybridní jednostránkový rámec, který lze nasadit na Linuxu, Unixu nebo Windows.

Wt, vyvinuté společností Emweb pro softwarové inženýrství, je kompatibilní s prohlížeči HTML5 a HTML4 i s běžnými uživatelskými agenty HTML. A Wt se může integrovat s knihovnami JavaScript třetích stran. S Wt je aplikace definována jako hierarchie widgetů - od obecných widgetů, jako jsou tlačítka, až po specializované widgety, jako je celý widget blogu. Strom widgetu je v prohlížeči vykreslen jako HTML / JavaScript. Wt lze stáhnout z webové stránky projektu. K dispozici jsou podmínky open source i komerční využití.

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