C ++ çerçevelerinin, kitaplıklarının ve kaynaklarının bazı özet listeleri fffaraz tarafından başlatılır ve sürdürülür.
İçerik şunları içerir: standart kitaplık, web uygulaması çerçevesi, yapay zeka, veritabanı, görüntü işleme, makine öğrenimi, günlük, kod analizi vb.
1. Standart kitaplık
C ++ standart kitaplığı, STL kapsayıcılarını, algoritmaları ve işlevleri içerir.
C ++ Standart Kitaplık: Çekirdek dilde yazılmış bir dizi sınıf ve işlev koleksiyonudur ve ayrıca C ++ ISO standardının bir parçasıdır.
Standart Şablon Kitaplığı: Standart Şablon Kitaplığı
C POSIX kitaplığı: POSIX sistemi için C standart kitaplık özelliği
ISO C ++ Standartlar Komitesi: C ++ Standartlar Komitesi
2. Çerçeve
2.1 C ++ genel çerçevesi ve kitaplığı
Apache C ++ Standart Kitaplığı: algoritmalar, kapsayıcılar, yineleyiciler ve diğer temel bileşenlerden oluşan bir koleksiyondur
ASL: Adobe kaynak kodu kitaplığı, hakemli ve taşınabilir bir C ++ kaynak kodu kitaplığı sağlar.
Boost: Yaygın C ++ kitaplıklarından oluşan geniş bir koleksiyon.
BDE: Bloomberg Bilgi Laboratuvarı'nın geliştirme ortamından.
Cinder: Profesyonel kalitede yaratıcı kodlama sağlayan açık kaynak geliştirme topluluğu.
Cxxomfort: C ++ 11'in bazı yeni özelliklerini C ++ 03'e taşıyan, yalnızca başlık dosyalarını içeren hafif bir kitaplık.
Dlib: Sözleşmeli programlama ve modern C ++ teknolojisi kullanılarak tasarlanmış, evrensel bir çapraz platform C ++ kitaplığı.
EASTL: EA-STL'nin ortak parçası
ffead-cpp: kurumsal uygulama geliştirme çerçevesi
Folly: Facebook tarafından geliştirilen ve kullanılan açık kaynaklı C ++ kitaplığı
JUCE: Platformlar arası yazılım geliştirmek için her şeyi kapsayan bir C ++ sınıf kitaplığı
libPhenom: Yüksek performanslı ve oldukça ölçeklenebilir sistemler oluşturmak için bir olay çerçevesi.
LibSourcey: Gerçek zamanlı video akışı ve yüksek performanslı ağ uygulamaları için C ++ 11 olaylı GÇ
LibU: C dilinde yazılmış çok platformlu araç kitaplığı
Loki: C ++ kütüphane tasarımı, ortak tasarım kalıpları ve deyimlerinin gerçekleştirilmesi dahil.
MiLi: Yalnızca başlık dosyalarına sahip küçük bir C ++ kitaplığı
openFrameworks: Yaratıcı kodlama için bir C ++ araç takımı geliştirin.
Qt: Çapraz platform uygulaması ve kullanıcı arabirimi çerçevesi
Sebep: Geliştiricilerin Java, .Net ve Python kullanmasını kolaylaştıran, aynı zamanda C ++ performans ve avantajları ihtiyaçlarını karşılayan çapraz platform çerçevesi.
KÖK: Büyük miktarda veriyi çok verimli bir şekilde işleyip analiz edebilen ve Avrupa Atom Enerjisi Araştırma Enstitüsü tarafından kullanılan, tüm işlevlere sahip bir dizi nesne yönelimli çerçeve.
STLport: STL'nin temsili bir sürümüdür
STXXL: Ek büyük veri kümeleri için standart şablon kitaplığı.
Ultimate ++: C ++ platformlar arası hızlı uygulama geliştirme çerçevesi
Windows Şablon Kitaplığı: Windows uygulamaları ve UI bileşenleri geliştirmek için C ++ kitaplığı
Yomm11: C ++ 11'in çoklu yöntemlerini açın.
2.2 Yapay Zeka
btsk: Oyun Davranışı Ağacı Başlatıcı Aracı
Gelişen Nesneler: Kendi rastgele optimizasyon algoritmalarınızı çok hızlı bir şekilde yazmanıza yardımcı olabilecek şablon tabanlı, ANSI C ++ evrimsel bilgi işlem kitaplığı.
Neu: C ++ 11 çerçevesi, bir dizi programlama dili, yapay zeka uygulamaları oluşturmak için çok amaçlı bir yazılım sistemi.
2.3 Eşzamansız olay döngüsü
Boost.Asio: Ağ ve düşük seviyeli G / Ç programlama için çapraz platform C ++ kitaplığı.
libev: Tam özellikli, yüksek performanslı zaman döngüsü, libevent'i biraz taklit ediyor, ancak artık libevent ile aynı sınırlamalara sahip değil ve bazı hatalarını düzeltti.
libevent: Etkinlik bildirim kitaplığı
libuv: Çapraz platform eşzamansız G / Ç.
2.4 Ses
Ses, ses, müzik, dijital müzik kitaplığı
FMOD: kullanımı kolay platformlar arası ses motoru ve ses içeriği oyun oluşturma aracı.
Maximilian: C ++ ses ve müzik dijital sinyal işleme kütüphanesi
OpenAL: Açık kaynak ses kitaplığı-platformlar arası ses API'si
Opus: Tamamen açık, telifsiz ve çok yönlü bir ses codec'i
Speex: Opus tarafından terk edilen ücretsiz codec bileşeni
Tonik: C ++ kullanımı kolay ve verimli ses sentezi
Vorbis: Ogg Vorbis, tamamen açık, tescilli olmayan, telifsiz, evrensel bir sıkıştırılmış ses formatıdır.
2.5 Ekoloji
Biyoinformatik, genomik ve biyoteknoloji
libsequence: Popülasyon genetik verilerini temsil etmek ve analiz etmek için C ++ kitaplığı.
SeqAn: Biyolojik veri dizisi analizinin algoritmasına ve veri yapısına odaklanın.
Vcflib: VCF dosyalarını ayrıştırmak ve işlemek için C ++ kitaplığı
Wham: İlişki testini BAM dosyasının genetik yapı varyasyonuna doğrudan uygulayın.
2.6 Sıkıştırma
3. Sıkıştırma ve arşiv kitaplığı
bzip2: tamamen ücretsiz, ücretsiz bir patent ve yüksek kaliteli veri sıkıştırma
doboz: Hızlı bir şekilde açabilen bir sıkıştırma kitaplığı
PhysicsFS: Çoğunlukla video oyunlarında kullanılan çeşitli arşivlere soyut erişim sağlayan bir kitaplık.Tasarım ilhamının bir kısmı Quake3'ün dosya alt sisteminden geliyor.
KArchive: Dosya arşivlerini (zip ve tar gibi) oluşturmak, okumak, yazmak ve işlemek için bir kitaplık. QIODevice'in bir dizi alt sınıfını kullanır ve şeffaf sıkıştırma ve açma verileri sağlamak için gzip biçimini kullanır.
LZ4: Çok hızlı sıkıştırma algoritması
LZHAM: Kayıpsız sıkıştırma veritabanı, sıkıştırma oranı LZMA'ya yakın, ancak açma hızı çok daha hızlı.
LZMA: 7z formatının varsayılan ve genel sıkıştırma yöntemi.
LZMAT: hızlı gerçek zamanlı kayıpsız veri sıkıştırma kitaplığı
miniz: Tek bir C kaynak dosyası, sıkıştırma / genişletme sıkıştırma kitaplığı, zlib uyumlu API, ZIP arşiv okuma ve yazma, PNG yazma.
Minizip: Zlib en son hata düzeltmeleri, PKWARE disk kapsamını, AES şifrelemesini ve IO tamponlamayı destekler.
Snappy: hızlı sıkıştırma ve açma
ZLib: çok kompakt bir veri akışı sıkıştırma kitaplığı
ZZIPlib: ZIP arşivleri için okuma izinleri sağlar.
3.1 Eşzamanlılık
Eşzamanlı yürütme ve çoklu okuma
Boost.Compute: OpenCL için C ++ GPU hesaplama kitaplığı
Bolt: GPU için optimize edilmiş C ++ şablon kitaplığı
C ++ React: C ++ 11 için reaktif bir programlama kitaplığı
Intel TBB: Intel iş parçacığı yapı taşı
Libclsph: OpenCL tabanlı GPU hızlandırmalı SPH sıvı simülasyon kitaplığı
OpenCL: Heterojen sistemlerin paralel programlanması için açık standart
OpenMP: OpenMP API
Thrust: C ++ standart şablon kitaplığına benzer paralel algoritma kitaplığı
HPX: Her boyuttaki paralel ve dağıtılmış uygulamalar için genel amaçlı bir C ++ çalışma zamanı sistemi
VexCL: OpenCL / CUDA için C ++ vektör ifade şablon kitaplığı.
3.2 Konteyner
C ++ B-ağacı: B-ağacı veri yapısına dayalı, komut belleği kapsayıcılarını uygulayan bir şablon kitaplığı
Hashmaps: C ++ 'da açık adresleme hash tablosu algoritmasının uygulanması
3.3 Kriptografi
Bcrypt: Platformlar arası bir dosya şifreleme aracı olan şifrelenmiş dosyalar, desteklenen tüm işletim sistemlerine ve işlemcilere aktarılabilir.
BeeCrypt:
Botan: C ++ şifreleme kitaplığı
Crypto ++: Şifreleme şemaları hakkında ücretsiz bir C ++ kitaplığı
GnuPG: OpenPGP standardının eksiksiz bir uygulaması
GnuTLS: SSL, TLS ve DTLS protokollerini uygulayan güvenli bir iletişim kitaplığı
Libgcrypt
libmcrypt
LibreSSL: Ücretsiz SSL / TLS protokolü, 2014 OpenSSL'nin bir dalı
LibTomCrypt: çok kapsamlı, modüler ve taşınabilir bir şifreleme aracı
libsodium: NaCI tabanlı şifreleme kitaplığı, düşünülmüş ve kullanımı kolay
Nettle'ın temel şifreleme kitaplığı
OpenSSL: Güçlü, ticari, tamamen işlevsel, açık kaynaklı bir şifreleme kitaplığı.
C'de Küçük AES128: C'de uygulanan AES128ESB şifreleme algoritmasının küçük ve taşınabilir bir uygulaması
3.4 Veritabanı
Veritabanı, SQL sunucusu, ODBC sürücüleri ve araçları
hiberlite: Sqlite3 için C ++ nesne ilişkisel eşleme
Hiredis: Redis veritabanı için çok basit bir C istemci kitaplığı
LevelDB: Hızlı Anahtar Değer Deposu
LMDB: Veritabanının dört temel öğesini karşılayan yerleşik anahtar-değer depolaması
MySQL ++: MySql'in C API'sini kapsayan bir C ++ sarıcı
RocksDB: Facebook'tan gömülü anahtarların hızlı depolanması
SQLite: Tamamen gömülü, tamamen işlevsel bir ilişkisel veritabanı, yalnızca birkaç yüz KB, projenize doğru bir şekilde dahil edilebilir.
3.5 Hata Ayıklama
Hata ayıklama kütüphanesi, bellek ve kaynak sızıntısı tespiti, birim testi
Boost.Test: Test kitaplığını artırın
Yakalama: Yalnızca birim testi, test odaklı geliştirme ve davranış odaklı geliştirme için başlık dosyalarını içeren çok moda, C ++ yerel çerçeve.
CppUnit: JUnit'ten taşınan C ++ test çerçevesi
CTest: CMake test sürücüsü
googletest: Google C ++ test çerçevesi
ig-debugheap: Bellek hatalarını izlemek için çoklu platform hata ayıklama yığını
libtap: C dilinde test yazma
MemTrack - Bellek ayırmayı izlemek için C ++ için kullanılır
mikroprofil - platformlar arası ağ görünümü analizörü
minUnit: Yalnızca iki makro kullanılarak C ile yazılmış bir mini birim test çerçevesi
Remotery: web görünümleri için tek bir C dosyası analizörü
UnitTest ++: Hafif C ++ birim testi çerçevesi
3.6 Oyun Motoru
Cocos2D-x: 2D oyunlar, etkileşimli kitaplar, sunumlar ve diğer grafik uygulamaları oluşturmak için bir çapraz platform çerçevesi.
Grit: Topluluk projesi, açık dünya 3D oyunlarını gerçekleştirmek için ücretsiz bir oyun motoru oluşturmak için kullanılır.
Irrlicht: C ++ dilinde yazılmış açık kaynaklı, yüksek performanslı gerçek zamanlı #D motoru
Polycode: Oyun oluşturmak için açık kaynaklı bir çerçevenin C ++ uygulaması (Lua ile bağlantılı).
3.7 Grafik kullanıcı arayüzü
CEGUI: Çok esnek çapraz platform GUI kitaplığı
FLTK: Hızlı, hafif bir çapraz platform C ++ GUI araç takımı.
GTK +: Grafik kullanıcı arayüzleri oluşturmak için platformlar arası araç seti
gtkmm: Popüler GUI kitaplığı GTK + için resmi C ++ arayüzü.
imgui: minimum bağımlılık içeren anlık mod grafik kullanıcı arayüzü
libRocket: libRocket, bir C ++ HTML / CSS oyun arayüzü ara yazılımıdır
MyGUI: Hızlı, esnek ve basit GUI
Ncurses: terminal kullanıcı arayüzü
QCustomPlot: Daha fazla bağımlılık olmadan Qt çizim kontrolü
Qwt: Kullanıcılar ve teknik uygulamalar için Qt kontrolleri
QwtPlot3D: Qt / OpenGL'ye dayalı, özellik açısından zengin bir C ++ programlama kitaplığı, temelde bir grup 3D kontrol sağlar
OtterUI: OtterUI, gömülü sistemler ve etkileşimli eğlence yazılımı için bir kullanıcı arayüzü geliştirme çözümüdür
PDCurses, kaynak kodunu ve önceden derlenmiş genel grafik işlevleri kitaplığını içerir
wxWidgets C ++ kitaplığı, geliştiricilerin widget'lar, Mac OS X, Linux ve diğer platformlar için uygulamalar oluşturmak üzere bir kod tabanı kullanmasına olanak tanır
3.8 Grafikler
bgfx: Çapraz platform oluşturma kitaplığı
Kahire: Birden çok çıktı aygıtını destekleyen 2D grafik kitaplığı
Horde3D, küçük bir 3B oluşturma ve animasyon motoru
magnum C ++ 11 ve OpenGL 2D / 3D grafik motoru
Ogre 3D, C ++ ile yazılmış sahne odaklı, gerçek zamanlı, esnek bir 3B oluşturma motorudur (bir oyun motoru değildir)
OpenSceneGraph, yüksek performanslı bir açık kaynaklı 3B grafik araç setine sahiptir
Panda3D, Python ve C ++ ile yazılmış bir 3D oluşturma ve oyun geliştirme çerçevesidir.
Skia, metin, grafik ve resim çizmek için eksiksiz bir 2D grafik kitaplığıdır
urho3d çapraz platform oluşturma ve oyun motoru.
3.9 Görüntü işleme
Boost.GIL: Evrensel görüntü kitaplığı
CImg: Görüntü işleme için küçük bir açık kaynaklı C ++ araç seti
CxImage: Yükleme, kaydetme, görüntüleme ve dönüştürme için görüntü işleme ve dönüştürme kitaplığı İşlenebilen görüntü biçimleri arasında BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K yer alır.
FreeImage: Yaygın resim formatlarını ve mevcut multimedya uygulamalarının gerektirdiği diğer formatları destekleyen açık kaynak kütüphanesi.
GDCM: Grassroots DICOM kitaplığı
ITK: Çapraz platform açık kaynaklı görüntü analiz sistemi
Magick ++: ImageMagick programının C ++ arayüzü
MagickWnd: ImageMagick programının C ++ arayüzü
OpenCV: Açık kaynak bilgisayar görme kitaplığı
tesseract-ocr: OCR motoru
VIGRA: Görüntü Analizi için Genel C ++ Bilgisayarla Görme Kitaplığı
VTK: 3B bilgisayar grafikleri, görüntü işleme ve görselleştirme için açık kaynaklı ücretsiz bir yazılım sistemi.
3.10 Uluslararasılaşma
gettext: GNU "gettext '
IBM ICU: Unicode ve küreselleştirme desteği sağlayan C, C ++ ve Java kitaplıkları
libiconv: farklı karakter kodlamaları arasında kodlama dönüşümü için bir kitaplık
3.11 Jason
donmuş: Jason C / C ++ için ayrıştırma oluşturucu
Jansson: Jason verilerini kodlamak, çözmek ve işlemek için C dili kitaplığı
jbson: BSON verilerini ve Json belgelerini C ++ 14'te oluşturmak ve yinelemek için bir kitaplık
JeayeSON: Çok sağlam C ++ JSON kitaplığı, yalnızca başlık dosyalarını içerir
JSON ++: C ++ JSON ayrıştırıcı
json-parser: Çok az bellek alan, taşınabilir ANSI C ile yazılmış bir JSON ayrıştırıcısı
json11: bir mini C ++ 11 JSON kitaplığı
jute: çok basit C ++ JSON ayrıştırıcı
ibjson: C dilinde JSON ayrıştırma ve yazdırma kitaplığı, herhangi bir modelle entegrasyonu kolaydır.
libjson: hafif bir JSON kitaplığı
PicoJSON: JSON ayrıştırma ve C ++ 'da serileştirme, yalnızca başlık dosyaları dahil
qt-json: JSON verileri ve QVariant seviyeleri arasında karşılıklı ayrıştırma için basit bir sınıf
QJson: JSON verilerini QVariant nesnelerine eşleyen Qt tabanlı bir kitaplık
RapidJSON: SAX ve DOM API'leri dahil C ++ için hızlı bir JSON ayrıştırma oluşturucu
YAJL: C dilinde hızlı akışlı JSON ayrıştırma kitaplığı