Génial C++
Une liste organisée de superbes frameworks, bibliothèques, ressources et éléments brillants C++ (ou C). Inspiré par des trucs géniaux.
- Génial C++
- Bibliothèques standards
- Cadres
- Intelligence artificielle
- Boucle d'événements asynchrone
- Audio
- Biologie
- BitTorrent
- Chimie
- CLI
- Compression
- Concurrence
- Configuration
- Conteneurs
- Cryptographie
- CSV
- Base de données
- Visualisation des données
- Déboguer
- Documentation
- DSP
- Fonte
- Moteur de jeu
- Graphique
- Interface graphique
- Graphique
- Traitement d'images
- Internationalisation
- Communication inter-processus
- JSON
- Enregistrement
- Apprentissage automatique
- Mathématiques
- Allocation de mémoire
- Multimédia
- Réseautage
- Bureau Open XML
- PDF
- Physique
- Réflexion
- Expression régulière
- Robotique
- Calcul scientifique
- Script
- Sérialisation
- Port série
- Tri
- Vidéo
- Machines virtuelles
- Cadre d'applications Web
- XML
- Yaml
- Divers
- Logiciel
- Compilateur
- Compilateur en ligne
- Débogueur
- Environnement de développement intégré
- Construire des systèmes
- Analyse du code statique
- Outils de style de codage
- Ressources
- Conception d'API
- Articles
- Livres
- Normes de codage
- Style de codage
- Baladodiffusions
- Pourparlers
- Vidéos
- Sites Web
- Blogs
- Autres projets géniaux
- Autres listes impressionnantes
- Emplois
- Commanditaires
- Contribuer - Si vous voyez ici un projet ou un lien qui n'est plus maintenu ou qui ne convient pas, veuillez soumettre une pull request pour améliorer ce document. Merci!
Bibliothèques standards
Bibliothèque standard C++ - comprenant les conteneurs STL, l'algorithme STL, les fonctionnalités STL, etc.
- Bibliothèque standard C++ - Une collection de classes et de fonctions écrites dans le langage de base et faisant partie de la norme ISO C++ elle-même.
- Bibliothèque de modèles standard - La bibliothèque de modèles standard (STL).
- Bibliothèque C POSIX - Une spécification d'une bibliothèque standard C pour les systèmes POSIX.
- Comité des normes ISO C++ - ISO/IEC JTC1/SC22/WG21 - Le comité des normes C++. site web
- La bibliothèque GNU C - Le but de ce manuel est de vous expliquer comment utiliser les fonctionnalités de la bibliothèque GNU C.
Cadres
Frameworks et bibliothèques génériques C++.
- abseil-cpp - Bibliothèques communes de rappel C++. [Apache2]
- Bibliothèque standard Apache C++ - STDCXX, une collection d'algorithmes, de conteneurs, d'itérateurs et d'autres composants fondamentaux. [retraité] [Apache2]
- APR – environnement d'exécution portable Apache. Une autre bibliothèque de fonctions utilitaires multiplateformes. [Apache2]
- ASL - Adobe Source Libraries fournit des bibliothèques sources C++ portables et évaluées par des pairs. [MIT]
- Boost ⚡ - Une large collection de bibliothèques C++ génériques. Site Web [Boost]
- BDE - L'environnement de développement BDE de Bloomberg Labs. [Apache2]
- Workflow C++ ⚡ - Moteur de calcul parallèle et de réseau asynchrone C++. [Apache2]
- CGraph - Un framework DAG multiplateforme basé sur C++ sans aucun tiers. [MIT]
- Cinder - Une bibliothèque gratuite et open source développée par la communauté pour un codage créatif de qualité professionnelle. [BSD]
- Coost - Une petite bibliothèque boost en C++11. [MIT]
- Cxxomfort - Une petite bibliothèque d'en-tête uniquement qui rétroporte diverses fonctionnalités des normes C++ les plus récentes vers C++03 et versions ultérieures. [MIT]
- Dlib ⚡ - Une boîte à outils pour créer des applications réelles d'apprentissage automatique et d'analyse de données en C++. Site Web [Boost]
- EASTL - Bibliothèque de modèles standard d'Electronic Arts. [BSD]
- ETL - Bibliothèque de modèles intégrée. [MIT]
- ffead-cpp - Framework pour le développement d'applications d'entreprise. [Apache2]
- Folly - Une bibliothèque C++ open source développée et utilisée sur Facebook. [Apache2]
- FunctionalPlus - Bibliothèque de programmation fonctionnelle pour C++. Écrivez du code C++ concis et lisible. [MIT]
- GLib - GLib fournit les éléments de base des applications pour les bibliothèques et les applications écrites en C. [LGPL]
- itlib - Une collection de bibliothèques C++ à en-tête unique de type std [MIT]
- JUCE - Une bibliothèque de classes C++ complète pour développer des logiciels multiplateformes. Site Web [Core-Module : ISC, Rest : GPL2/GPL3/Proprietary]
- Framework Kigs - Un framework RAD multiplateforme modulaire C++ gratuit et open source. Site Web du [MIT]
- libPhenom - libPhenom est un framework d'événements pour créer des systèmes hautes performances et haute évolutivité en C. [Apache2]
- LibSourcey - E/S événementielles C++11 pour le streaming vidéo en temps réel et les applications réseau hautes performances. [LGPL]
- LibU - Une bibliothèque d'utilitaires multiplateforme écrite en C. [BSD]
- libxutils - Bibliothèque C multiplateforme simple mais puissante fournissant des structures de données, des algorithmes et bien plus encore. [MIT]
- Loki - Une bibliothèque de conceptions C++, contenant des implémentations flexibles de modèles de conception et d'idiomes courants. [MIT]
- MiLi - Bibliothèque C++ minimale pour les en-têtes uniquement. [Booster]
- OpenFrameworks - Une boîte à outils open source multiplateforme pour le codage créatif en C++. Site Web du [MIT]
- Qt ⚡ - Une application multiplateforme et un framework d'interface utilisateur. Site Web [GPL/LGPL/Propriétaire]
- Reason - Un framework multiplateforme conçu pour apporter la facilité d'utilisation de Java, .Net ou Python aux développeurs qui ont besoin des performances et de la puissance du C++. [GPL2]
- ROOT - Un ensemble de frameworks OO avec toutes les fonctionnalités nécessaires pour gérer et analyser de grandes quantités de données de manière très efficace. Utilisé au CERN. [LGPL]
- rpp - Remplacement minimal du STL C++20 inspiré de Rust. [MIT]
- SaneCppLibraries - un ensemble de bibliothèques d'abstraction de plateforme C++ pour macOS, Windows et Linux. Site Web du [MIT]
- Seastar - Un framework C++ open source avancé pour des applications serveur hautes performances sur du matériel moderne. [Licence Apache-2.0] seastar.io
- STLport - Une version exemplaire de STL. [Gratuit]
- STXXL - Bibliothèque de modèles standard pour les ensembles de données très volumineux. [Booster]
- tbox - Une bibliothèque C multiplateforme de type glib. Site Web [Apache2]
- Ultimate++ - Un framework de développement d'applications rapide multiplateforme C++. [BSD]
- Bibliothèque de modèles Windows - Une bibliothèque C++ pour développer des applications Windows et des composants d'interface utilisateur. [Publique]
- Yomm2 - Multi-méthodes rapides, orthogonales et ouvertes. Remplace Yomm11 [Boost]
Intelligence artificielle
- ANNetGPGPU - Une bibliothèque de réseaux de neurones artificiels basée sur GPU (CUDA). [LGPL]
- btsk - Kit de démarrage de l'arbre de comportement du jeu. [zlib]
- Evolving Objects - Une bibliothèque de calcul évolutive ANSI-C++ basée sur des modèles qui vous aide à écrire vos propres algorithmes d'optimisation stochastique à une vitesse incroyablement rapide. [LGPL]
- frugally-deep - Bibliothèque d'en-tête uniquement pour l'utilisation des modèles Keras en C++. [MIT]
- Genann - Bibliothèque de réseaux neuronaux simple en C. [zlib]
- MXNet - Apprentissage profond distribué/mobile léger, portable et flexible avec un planificateur de flux de données dynamique et sensible aux mutations ; pour Python, R, Julia, Scala, Go, JavaScript et plus encore. site web
- PyTorch - Tenseurs et réseaux de neurones dynamiques en Python avec forte accélération GPU. site web
- lampe de poche - Flashlight est une bibliothèque d'apprentissage automatique rapide et flexible écrite entièrement en C++. [BSD]
- Recast/Detour - (3D) Générateur de maillage de navigation et pathfinder, principalement pour les jeux. [zlib]
- TensorFlow - Une bibliothèque logicielle open source pour le calcul numérique à l'aide de graphiques de flux de données. [Apache]
- oneDNN - Une bibliothèque de performances multiplateforme open source pour les applications d'apprentissage en profondeur. Site Web [Apache]
- CNTK - Microsoft Cognitive Toolkit (CNTK), une boîte à outils open source d'apprentissage en profondeur. [Booster]
- tiny-dnn - Un framework d'apprentissage en profondeur sans dépendance et en-tête uniquement en C++11. [BSD]
- Veles - Plateforme distribuée pour le développement rapide d'applications d'apprentissage profond. [Apache]
- Kaldi - Boîte à outils pour la reconnaissance vocale. [Apache]
Boucle d'événements asynchrone
- Asio - Une bibliothèque C++ multiplateforme pour la programmation réseau et d'E/S de bas niveau qui fournit aux développeurs un modèle asynchrone cohérent utilisant une approche C++ moderne. Site Web [Boost]
- Boost.Asio - Une bibliothèque C++ multiplateforme pour la programmation réseau et d'E/S de bas niveau. Site Web [Boost]
- C++ Actor Framework - Une implémentation Open Source du modèle d'acteur en C++. Site Web [BSD-3-Clause]
- Ichor - Une file d'attente d'événements qui se concentre sur la sécurité des threads et fournit une injection de dépendances. [MIT]
- libev - Une boucle d'événements complète et hautes performances qui est vaguement calquée sur libevent, mais sans ses limitations ni ses bugs. [BSD et GPL]
- libevent - Une bibliothèque de notifications d'événements. [BSD]
- libhv - Bibliothèque de boucles d'événements multiplateformes. [BSD]
- libuv - E/S asynchrones multiplateformes. [BSD]
- promise-cpp - Bibliothèque d'en-tête uniquement qui implémente la norme Promise/A+. [Anti-996]
- uvw - Wrapper C++ pour libuv. [MIT]
- uv-cpp - une interface simple et une bibliothèque réseau hautes performances basée sur C++11. [MIT]
Audio
Bibliothèques audio, son, musique, voix numérisées
- Amplitude Audio SDK - Un moteur audio multiplateforme conçu pour répondre aux besoins des jeux. Site Web [Apache-2.0]
- Aubio - Une bibliothèque pour l'analyse audio et musicale. Site Web [GPL-3.0]
- AudioFile - Une simple bibliothèque C++ pour lire et écrire des fichiers audio. [MIT]
- audioFlux - Bibliothèque AC pour l'analyse audio et musicale, extraction de fonctionnalités. [MIT]
- dr_libs - Bibliothèques de décodage audio à fichier unique pour C et C++. [Sans licence]
- FMOD - Un moteur audio multiplateforme facile à utiliser et un outil de création de contenu audio pour les jeux. [Gratuit pour les applications non commerciales/commerciales]
- KFR - Framework DSP C++ rapide et moderne, filtres FFT, FIR/IIR, conversion de fréquence d'échantillonnage. [GPL/Propriétaire]
- LAME - LAME est un encodeur MPEG Audio Layer III (MP3) de haute qualité. [LGPL]
- libsndfile - Bibliothèque C avec wrapper C++ pour lire et écrire des fichiers contenant du son échantillonné via une interface de bibliothèque standard. Site Web [LGPL-2.1]
- libsoundio - Bibliothèque C pour l'entrée et la sortie audio en temps réel multiplateforme. Site Web du [MIT]
- Maximilian - Bibliothèque DSP audio et musicale C++. [MIT]
- OpenAL - Open Audio Library - Une API audio multiplateforme. [BSD/LGPL/Propriétaire]
- miniaudio - Bibliothèque de lecture et de capture audio de fichier unique. Site Web [Sans licence]
- ni-media - Bibliothèque C++ pour lire et écrire des fichiers audio. [MIT]
- Opus - Un codec audio totalement ouvert, libre de droits et très polyvalent. [BSD]
- PortAudio - PortAudio est une bibliothèque d'E/S audio gratuite, multiplateforme et open source. [MIT]
- rnnoise - Réseau neuronal récurrent pour la réduction du bruit audio. [Clause BSD-3]
- SELA - Audio simple sans perte. [MIT]
- SoLoud - Moteur audio simple et portable pour les jeux. [zlib]
- Speex - Un codec gratuit pour la liberté d'expression. Obsolète par Opus. [BSD]
- Tonic - Synthèse audio simple et efficace en C++. [Sans licence]
- Vorbis - Ogg Vorbis est un format audio compressé à usage général entièrement ouvert, non exclusif, libre de brevets et de droits d'auteur. [BSD]
- minimp3 - Décodeur MP3 du domaine public, uniquement en-tête, avec implémentation en salle blanche. [CC0]
- Verovio - Verovio est une bibliothèque de gravure de notations musicales rapide et légère. Site Internet de la LGPL
- Wav2Letter++ - Domaine public, une boîte à outils de traitement vocal open source rapide écrite entièrement en C++ et utilise la bibliothèque de tenseurs ArrayFire et la bibliothèque d'apprentissage automatique de lampe de poche pour une efficacité maximale. [BSD]
Biologie
Bioinformatique, Génomique, Biotechnologie
- BioC++ - Bibliothèques informatiques C++ pour la bioinformatique. [BSD]
- Chaste - Une bibliothèque C++ open source pour la simulation informatique de modèles mathématiques développés pour la physiologie et la biologie. [BSD]
- libsequence - Une bibliothèque C++ pour représenter et analyser les données de génétique des populations. [GPL]
- SeqAn - Algorithmes et structures de données pour l'analyse de séquences en mettant l'accent sur les données biologiques. [BSD/3-clause]
- Vcflib - Une bibliothèque C++ pour analyser et manipuler les fichiers VCF. [MIT]
- Wham - Variantes structurelles (SV) dans les génomes en appliquant directement des tests d'association aux fichiers BAM. [MIT]
BitTorrent
- jech/dht - Bibliothèque BitTorrent DHT en C. [MIT]
- libtorrent (alias libtorrent-rasterbar) - Une fonctionnalité efficace complète l'implémentation de bittorrent C++. [BSD]
- LibTorrent (alias libtorrent-rakshasa) - Bibliothèque BitTorrent. [GPL]
- libutp - Bibliothèque du protocole de transport uTorrent. [MIT]
Chimie
Chimie, Chimie Quantique, Chimie/Physique du Solide, Géochimie, Biochimie
- d-SEAMS - Un moteur d'analyse de trajectoire de dynamique moléculaire en C++ et Lua avec Nix. C'est l'acronyme de Deferred Structural Elucidation Analysis for Molecular Simulations. Site Web [GPL]
- gromacs - Une implémentation de dynamique moléculaire parallèle transmettant des messages. Site Web [GPL]
- Reaktoro - Un cadre informatique en C++ et Python pour modéliser des systèmes chimiquement réactifs. Site Internet de la LGPL
- LAMMPS - Un code classique de dynamique moléculaire axé sur la modélisation des matériaux. C'est un acronyme pour Large-scale Atomic/Molecular Massively Parallel Simulator. Site Web [GPL]
- MADNESS - Environnement numérique adaptatif multirésolution pour la simulation scientifique. Site Web [GPL]
- MPQC - Le programme de chimie quantique massivement parallèle, MPQC, calcule les propriétés des atomes et des molécules à partir des premiers principes en utilisant l'équation de Schrödinger indépendante du temps. Site Web [GPL]
- ORCA - Un programme de chimie quantique ab initio qui contient des méthodes modernes de structure électronique. Site Web [académique]
- Psi - Un package de chimie computationnelle ab initio. Site Web [GPL]
CLI
Interface utilisateur console/terminal, interface de ligne de commande
- Argh ! - Un gestionnaire d'arguments minimaliste, sans frustration et uniquement en en-tête. [BSD]
- argparse - Analyseur d'arguments pour le C++ moderne. [MIT]
- args - Une simple bibliothèque d'analyse d'arguments C++ uniquement en en-tête. [MIT]
- barkeep - Petit en-tête C++ pour afficher des animations asynchrones, des compteurs et des barres de progression. Site Web [Apache-2.0]
- Boost.Program_options - Une bibliothèque pour obtenir les options du programme via des méthodes conventionnelles telles que la ligne de commande et le fichier de configuration. Site Web [Boost]
- cli - Une bibliothèque C++14 multiplateforme uniquement pour les interfaces de ligne de commande interactives (style Cisco). [Booster]
- CLI11 - Bibliothèque C++ 11 à fichier unique ou multi-fichiers uniquement pour une analyse CLI simple et avancée. [BSD]
- clipp - Gestion des arguments de ligne de commande facile à utiliser, puissante et expressive pour C++ 14/11/17 contenus dans un seul fichier d'en-tête. [MIT]
- cpp-terminal - Petite bibliothèque C++ en en-tête uniquement pour écrire des applications de terminal multiplateforme. [MIT]
- Ctrl+C - Bibliothèque Crossplatform C++11 pour gérer l'événement Ctrl+C dans les fonctions personnalisées. [MIT]
- cxxopts - Analyseur d'options de ligne de commande C++ léger. [MIT]
- docopt.cpp - Une bibliothèque pour générer un analyseur d'options à partir de docstring. [MIT/Boost]
- FINAL CUT - Bibliothèque pour créer des applications de terminal avec des widgets basés sur du texte. [LGPL]
- FTXUI - Interface utilisateur du terminal fonctionnel C++. [MIT]
- gflags - Module d'indicateurs de ligne de commande pour C++. [BSD]
- imtui - Interface utilisateur textuelle en mode immédiat. [MIT]
- indicateurs - Indicateurs d'activité pour Modern C++. [MIT]
- Linenoise - Une petite alternative autonome à readline et libédit. [Clause BSD-2]
- Linenoise-ng - Un petit remplacement de ligne de lecture GNU portable pour Linux, Windows et MacOS, capable de gérer les caractères UTF-8. [BSD]
- Lyra - Un analyseur de ligne de commande simple à utiliser et composable pour C++ 11 et au-delà. [Booster]
- Ncurses - Une interface utilisateur de terminal. [MIT]
- oof - Contrôle de couleur et de position RVB pratique et hautes performances pour la sortie de la console. [MIT]
- PDCurses - Bibliothèque de malédictions du domaine public avec code source et bibliothèque précompilée disponibles. [Domaine public]
- popl - Un modèle d'arguments de ligne de commande à en-tête unique et un analyseur de fichiers ini pour C++ 11 et au-delà. [MIT]
- replxx - Un remplacement readline et libedit qui prend en charge UTF-8, la coloration syntaxique, les astuces, fonctionne sous Unix et Windows. [BSD]
- tabulate - Créateur de tables pour le C++ moderne. [MIT]
- TCLAP - Une bibliothèque mature, stable et riche en fonctionnalités pour définir et accéder aux arguments de ligne de commande en ANSI C++. [MIT]
- termbox - Bibliothèque AC pour écrire des interfaces utilisateur textuelles. [MIT]
- TermOx - Bibliothèque d'interface utilisateur de terminal C++17 (TUI). [MIT]
- tuibox - Une bibliothèque d'interface utilisateur de terminal à en-tête unique (TUI), capable de créer des applications interactives pilotées par la souris sur la ligne de commande. [MIT]
Compression
Bibliothèques de compression et d'archivage
- bit7z - Une bibliothèque statique C++ offrant une interface claire et simple aux bibliothèques partagées 7-zip. [MPL2]
- Brotli - Format de compression Brotli. Développé par Google. [MIT]
- bzip2 - Un compresseur de données de haute qualité, disponible gratuitement et sans brevet. [BSD]
- bzip3 - Un successeur spirituel meilleur et plus fort de BZip2. [LGPL]
- FastLZ - Compression LZ77 petite et portable alignée sur les octets. [MIT]
- FiniteStateEntropy - Codecs d'entropie nouvelle génération : Finite State Entropy et Huff0.
- heatshrink - bibliothèque de compression de données pour les systèmes embarqués/temps réel [ISC]
- Kanzi - un compresseur de données sans perte moderne, modulaire, portable et efficace implémenté en C++. [Apache-2.0]
- KArchive - Une bibliothèque pour créer, lire, écrire et manipuler des archives de fichiers comme zip et tar. Il fournit également une compression et une décompression transparentes des données, en utilisant des formats comme gzip, via une sous-classe de QIODevice. [LGPL]
- libarchive - Bibliothèque d'archives et de compression multiformat. Site Web [Nouveau BSD]
- LZ4 - Algorithme de compression extrêmement rapide. Site Web [BSD]
- LZFSE - Bibliothèque de compression LZFSE et outil de ligne de commande. Développé par Apple.
- LZHAM - Bibliothèque de compression de données sans perte avec un taux de compression similaire à LZMA mais avec une décompression beaucoup plus rapide. [BSD]
- LZMA ⚡ - La méthode de compression par défaut et générale du format 7z. Site Web [domaine public]
- LZMAT - Une bibliothèque de compression de données sans perte en temps réel extrêmement rapide. [GPL]
- miniz - Bibliothèque de compression Deflate/Inflate de fichier source C unique avec API compatible zlib, lecture/écriture d'archive ZIP, écriture PNG. [MIT]
- Minizip - Zlib avec les dernières corrections de bogues prenant en charge la répartition du disque PKWARE, le cryptage AES et la mise en mémoire tampon IO. [zlib]
- minizip-ng - Fork de la bibliothèque de manipulation zip populaire trouvée dans la distribution zlib. [zlib]
- PhysicsFS - Une bibliothèque pour fournir un accès abstrait à diverses archives. Il est destiné à être utilisé dans les jeux vidéo et sa conception s'inspire quelque peu du sous-système de fichiers de Quake 3. [zlib]
- Rapidgzip - Décompression Gzip et accès aléatoire pour les machines multicœurs modernes. [Apache-2/MIT]
- smaz - Bibliothèque de compression de petites chaînes. [BSD]
- Snappy - Un compresseur/décompresseur rapide. [BSD]
- ZLib - Une bibliothèque de compression très compacte pour les flux de données. [zlib]
- zlib-ng - zlib pour les systèmes "nouvelle génération". Remplacement instantané avec quelques optimisations sérieuses. [zlib]
- zstd - Zstandard - Algorithme de compression rapide en temps réel. Développé par Facebook. [BSD]
- ZZIPlib - Fournit un accès en lecture aux archives ZIP. [MPL/LGPL]
Concurrence
Concurrence et multithreading
- alpaka - Bibliothèque d'abstraction pour l'accélération parallèle du noyau. [LGPLv3+]
- ArrayFire - Une bibliothèque GPU à usage général. [BSD]
- Async++ - Un framework de concurrence léger pour C++11, inspiré de la bibliothèque Microsoft PPL et de la proposition de norme N3428 C++. [MIT]
- Boost.Compute - Une bibliothèque de calcul GPU C++ pour OpenCL. Site Web [Boost]
- Bolt - Une bibliothèque de modèles C++ optimisée pour les GPU. [Apache2]
- BS::thread_pool - Une bibliothèque de pool de threads C++17 rapide, légère et facile à utiliser [MIT]
- Channel - Conteneur thread-safe pour le partage de données entre les threads. [MIT]
- ck - Primitives de concurrence, mécanismes sécurisés de récupération de mémoire et structures de données non bloquantes. [BSD]
- concurrentqueue - Une file d'attente simultanée rapide, multi-producteurs et multi-consommateurs, sans verrouillage, pour C++11. [BSD,Boost]
- Coros - Une bibliothèque facile à utiliser et rapide pour le parallélisme basé sur les tâches, utilisant des coroutines. [BSL-1.0]
- CUB - CUB fournit des composants logiciels de pointe et réutilisables pour chaque couche du mode de programmation CUDA. [Nouveau BSD]
- cuda-api-wrappers - Wrappers légers et modernes en C++ pour l'API d'exécution de programmation GPU CUDA. [BSD]
- cupla - API C++ pour exécuter CUDA/C++ sur OpenMP, Threads, TBB, ... via Alpaka. [LGPLv3+]
- C++React - Une bibliothèque de programmation réactive pour C++11. [Booster]
- FiberTaskingLib - Bibliothèque multithread basée sur les tâches qui prend en charge les graphiques de tâches avec des dépendances arbitraires. [Apache]
- HPX - Un système d'exécution C++ à usage général pour les applications parallèles et distribuées de toute échelle. [Booster]
- Planificateur de tâches Intel Games - Un cadre de planification de tâches conçu pour les besoins des développeurs de jeux. [MIT]
- Intel Parallel STL - Implémentation Intel® de C++17 STL pour C++11 et versions ultérieures. [Apache2]
- Intel TBB - Blocs de construction Intel® Threading. [Apache2]
- Junction - Une bibliothèque de structures de données concurrentes en C++. [BSD]
- Kokkos - Un modèle de programmation portable performant pour l'exécution parallèle et l'abstraction de la mémoire. [BSD]
- libcds - Une bibliothèque C++ de structures de données simultanées. [BSD]
- Libclsph - Une bibliothèque de simulation de fluides SPH accélérée par GPU basée sur OpenCL. [MIT]
- libdill - Introduit la concurrence structurée en C. [MIT]
- libdispatch - Grand Central Dispatch (GCD), développé par Apple Inc., est une technologie de parallélisme de tâches basée sur le modèle de pool de threads. libdispatch est une bibliothèque qui assure l'implémentation des services de GCD. Site Web [Apache-2.0]
- libfork - Une bibliothèque de tâches de pointe, sans verrouillage, sans attente et qui vole la continuation, construite sur les coroutines de C++20. Site Web [MPL-2.0]
- libmill - Introduit la concurrence de style Go en C. [MIT]
- marl - Marl est un planificateur de tâches hybride thread/fibre écrit en C++ 11. [Apache-2.0]
- moderngpu - moderngpu est une bibliothèque de productivité pour le calcul général sur GPU. Il s'agit d'une bibliothèque C++ uniquement en-tête écrite pour CUDA. La valeur unique de la bibliothèque réside dans ses primitives accélérées permettant de résoudre des problèmes irrégulièrement parallèles. [FreeBSD et droits d'auteur, Sean Baxter]
- NCCL - Primitives optimisées pour la communication collective multi-GPU. [BSD]
- Neco - Bibliothèque de concurrence pour C (coroutines). [MIT]
- OpenCL - Le standard ouvert pour la programmation parallèle de systèmes hétérogènes.
- OpenMP - L'API OpenMP.
- rotor - Micro-framework d'acteur C++ compatible avec les boucles d'événements. [MIT]
- SObjectizer - Une implémentation des modèles Actor, Publish-Subscribe et CSP dans un framework C++ plutôt petit. [Clause BSD-3]
- Quantum - Un puissant framework de répartiteur de coroutines C++ construit sur Boost.Coroutine2.
- RaftLib - La bibliothèque RaftLib C++, simultanéité streaming/flux de données via des opérateurs de type C++ iostream. [Apache2]
- readerwriterqueue - Une file d'attente rapide sans verrouillage, mono-producteur et mono-consommateur pour C++. [BSD]
- stdgpu - Structures de données efficaces de type STL sur le GPU. [Apache2]
- Taskflow - Un système de programmation de tâches parallèles et hétérogènes à usage général. (renommé de Cpp-Taskflow) [MIT]
- ThreadPool - Une implémentation simple du pool de threads C++11 [zlib]
- Thrust - Une bibliothèque d'algorithmes parallèles qui ressemble à la bibliothèque de modèles standard (STL) C++. [Apache2]
- transwarp - Une bibliothèque C++ uniquement en-tête pour la simultanéité des tâches. [MIT]
- VexCL - Une bibliothèque de modèles d'expressions vectorielles C++ pour OpenCL/CUDA. [MIT]
- STAPL - Un framework de programmation parallèle C++ conçu pour fonctionner sur des ordinateurs parallèles à mémoire partagée et distribuée. [BSD]
- concurrencpp - Une bibliothèque générale de concurrence contenant des tâches, des exécuteurs, des minuteurs et des coroutines C++20 pour les gérer tous.
Configuration
Fichiers de configuration, fichiers INI
- inifile-cpp - Un analyseur de fichiers Ini avec en-tête uniquement et facile à utiliser pour C++. [MIT]
- inih - Analyseur de fichiers .INI simple en C, idéal pour les systèmes embarqués. [Clause BSD-3]
- inih - Version C++ à en-tête unique uniquement de inih. [Clause BSD-3]
- ini-cpp - Version C++ à en-tête unique uniquement, avec une interface de lecture/écriture pratique, étendue à partir d'inih. Site Web [BSD-3-Clause]
- iniparser - Analyseur de fichiers INI. [MIT]*
- inipp - Analyseur et générateur ini C++ simple avec en-tête uniquement. [MIT]
- libconfig - Bibliothèque C, C++ pour le traitement des fichiers de configuration structurés. Site Web [LGPL-2.1]
- libconfuse - Petite bibliothèque d'analyse de fichiers de configuration pour C. [ISC]
- mINI - Lecteur et graveur de fichiers INI. [MIT]
- simpleini - Bibliothèque C++ multiplateforme fournissant une API simple pour lire et écrire des fichiers de configuration de style INI. [MIT]
- toml++ - Analyseur et sérialiseur TOML uniquement en-tête pour C++ 17 et versions ultérieures. Site Web du [MIT]
- toml11 - un analyseur/encodeur toml d'en-tête uniquement C++ 11 (ou version ultérieure) dépendant uniquement de la bibliothèque standard C++. [MIT]
Conteneurs
- C++ B-tree - Une bibliothèque de modèles qui implémente des conteneurs en mémoire ordonnés basés sur une structure de données B-tree. [Apache2]
- Dynamic_bitset - Bibliothèques utiles simples : jeu de bits dynamique en-tête uniquement C++ 17/20. Site Web du [MIT]
- fixed-containers - Bibliothèque C++20 en en-tête uniquement qui fournit des conteneurs constexpr à capacité fixe. [MIT]
- flat_hash_map - Une table de hachage plate très rapide avec hachage de Fibonacci.
- congelé - une alternative constexpr à gperf uniquement en en-tête pour les utilisateurs C++14. [Apache-2.0]
- Hashmaps - Implémentation d'algorithmes de table de hachage d'adressage ouvert en C++. [MIT]
- hat-trie - Implémentation C++ d'un HAT-trie rapide et économe en mémoire. [MIT]
- Hopscotch map - Une carte de hachage rapide uniquement en-tête qui utilise le hachage à la marelle pour la résolution des collisions. [MIT]
- LSHBOX - Une boîte à outils C++ de hachage sensible à la localité (LSH), fournit plusieurs algorithmes LSH populaires, prend également en charge Python et MATLAB. [GPL]
- parallel-hashmap - Une famille de conteneurs hashmap et btree avec en-tête uniquement, très rapides et économes en mémoire [Apache2]
- Index PGM - Une structure de données qui permet une recherche rapide, des prédécesseurs, des recherches de plage et des mises à jour dans des tableaux de milliards d'éléments en utilisant des ordres de grandeur moins d'espace que les index traditionnels. Site Web [Apache2]
- plf::colony - Un conteneur de type "sac" non ordonné qui surpasse les conteneurs std dans les scénarios de modifications élevées tout en conservant des pointeurs permanents vers des éléments non effacés, quelle que soit l'insertion/l'effacement. Site Web [zLib]
- plf::list - Une implémentation std::list qui supprime l'épissage des plages afin de permettre une structure plus conviviale pour le cache, générant des gains de performances significatifs. Site Web [zLib]
- plf::stack - Un conteneur de remplacement pour l'adaptateur de conteneur std::stack, avec de meilleures performances que n'importe quel conteneur std dans un contexte de pile. Site Web [zLib]
- ring_span lite - Une implémentation simplifiée de l'implémentation ring_span d'Arthur O'Dwyer, c'est-à-dire. une vue tampon circulaire. [MIT]
- robin-hood-hashing - Table de hachage rapide et efficace en mémoire basée sur le hachage Robin Hood pour C++14. [MIT]
- robin-map - Carte de hachage rapide et ensemble de hachage utilisant le hachage Robin Hood. [MIT]
- sparsepp - Une carte de hachage rapide et efficace en mémoire pour C++. [clause BSD 3]
- st_tree - Une classe de modèle C++ rapide et flexible pour les structures de données arborescentes. [Apache-2.0]
- svector - Vecteur optimisé SVO compact pour C++ 17 ou supérieur. [MIT]
- tree.hh - Une bibliothèque d'arborescences d'en-tête uniquement C++ de type STL. [GPL2+]
- unordered_dense - Une table de hachage et un ensemble de hachage rapides et densément stockés basés sur la suppression du décalage vers l'arrière de Robin des Bois. [MIT]
Cryptographie
Bibliothèques de cryptographie et de cryptage
- Bcrypt - Un utilitaire de chiffrement de fichiers multiplateforme. Les fichiers cryptés sont portables sur tous les systèmes d'exploitation et processeurs pris en charge. [BSD]
- BeeCrypt - Une bibliothèque de cryptographie portable et rapide. [LGPLv2.1+]
- Botan - Une bibliothèque de chiffrement pour C++. [BSD-2]
- Crypto++ - Une bibliothèque de classes C++ gratuite de schémas cryptographiques. Site Web [Boost]
- digestpp - Bibliothèque C++ 11 de résumé de message (hachage) uniquement en-tête. [Domaine public]
- GnuPG - Une implémentation complète et gratuite du standard OpenPGP. [GPL]
- GnuTLS - Une bibliothèque de communications sécurisée implémentant les protocoles SSL, TLS et DTLS. [LGPL2.1]
- Libgcrypt - Une bibliothèque cryptographique à usage général basée à l'origine sur le code de GnuPG. [LGPLv2.1+]
- LibreSSL - Une version gratuite du protocole SSL/TLS dérivé d'OpenSSL en 2014. [?]
- libsodium - Bibliothèque de cryptographie basée sur NaCl P(ortable|ackageable), avisée et facile à utiliser. [ISC]
- libhydrogen - Une bibliothèque de chiffrement légère, sécurisée et facile à utiliser, adaptée aux environnements contraints. [ISC]
- LibTomCrypt - Une boîte à outils cryptographique assez complète, modulaire et portable. [WTFPL]
- mbedTLS - Une bibliothèque SSL open source, portable, facile à utiliser, lisible et flexible, anciennement connue sous le nom de PolarSSL. Site Web [Apache2]
- Nettle - Une bibliothèque cryptographique de bas niveau. [LGPL]
- OpenSSL - Une bibliothèque de cryptographie robuste, de qualité commerciale, complète et Open Source. Site Web [Apache]
- retter - Une collection de fonctions de hachage, de chiffrements, d'outils, de bibliothèques et de matériels liés à la cryptographie.
- s2n - Une implémentation des protocoles TLS/SSL. [Apache]
- sha1collisiondetection - Bibliothèque et outil de ligne de commande pour détecter les collisions SHA-1 dans un fichier. [MIT]
- Tink - Une bibliothèque multilingue et multiplateforme qui fournit des API cryptographiques sécurisées, faciles à utiliser correctement et difficiles à utiliser à mauvais escient. [Apache-2.0]
- Tiny AES en C - Petit portable AES128/192/256 en C. [PublicDomain]
- Themis - bibliothèque de chiffrement pour une sécurité indolore des données, fournissant un cryptage symétrique et asymétrique, des sockets sécurisés avec secret transmis, pour les plates-formes mobiles et serveurs. [Apache2]
- HEhub - Une bibliothèque pour le cryptage homomorphe et ses applications. [Apache2]
CSV
Bibliothèques pour analyser les fichiers CSV (Comma Separated Value)
- virgule - Juste un autre analyseur CSV C++17 en en-tête uniquement. [Sans licence]
- csv2 - Analyseur CSV rapide pour le C++ moderne. [MIT]
- Csv::Parser - Analyseur CSV au moment de la compilation et de l'exécution écrit en C++17. [Zlib]
- Fast C++ CSV Parser - Petite bibliothèque d'en-tête uniquement facile à utiliser et rapide pour la lecture de fichiers CSV. [Clause BSD-3]
- Glaze - Hautes performances, en-tête uniquement, bibliothèque CSV avec prise en charge de la réflexion. [MIT]
- lazycsv - Un analyseur CSV rapide, léger et à en-tête unique pour le C++ moderne. [MIT]
- ssp - Un analyseur "csv" d'en-tête uniquement, rapide et polyvalent avec l'API C++ moderne. [MIT]
- Analyseur CSV de Vince - Un analyseur CSV C++17 en streaming rapide et autonome avec conversion de type et statistiques en option. [MIT]
Base de données
Bibliothèques de bases de données, serveurs SQL, pilotes ODBC et outils
- ClickHouse - Client C++ pour le SGBD ClickHouse. [Apache2]
- CrossDB - SGBDR OLTP léger embarqué et serveur ultra hautes performances. Site Web [MPL-2.0]
- DuckDB - système de gestion de base de données SQL OLAP en cours. Site Web du [MIT]
- hiberlite - Mappage objet-relationnel C++ pour sqlite3. [BSD]
- Hiredis - Une bibliothèque client C minimaliste pour la base de données Redis. [BSD]
- Infinity - La base de données native d'IA conçue pour les applications LLM, offrant une recherche vectorielle et en texte intégral incroyablement rapide. [Apache2]
- Kuzu - Système de gestion de base de données de graphiques de propriétés intégrable conçu pour la vitesse des requêtes et l'évolutivité. Implémente Cypher. Site Web du [MIT]
- Kvrocks - Une base de données NoSQL de valeurs de clés distribuées qui utilise RocksDB comme moteur de stockage et est compatible avec le protocole Redis. [Apache2]
- LevelDB - Une bibliothèque de stockage clé-valeur rapide écrite par Google qui fournit un mappage ordonné des clés de chaîne aux valeurs de chaîne. [BSD]
- libpg_query - Bibliothèque C pour accéder à l'analyseur PostgreSQL en dehors de l'environnement serveur. [Clause BSD-3]
- libpqxx - L'API client C++ officielle pour PostgreSQL. [Clause BSD-3]
- LMDB - Magasin de clés/valeurs intégré très rapide avec une sémantique ACID complète. [OuvrirLDAP]
- LMDB++ - Wrapper C++11 pour la bibliothèque de base de données intégrée LMDB. [Domaine public]
- mgclient - Client Memgraph C/C++. [Apache2]
- Pilote MongoDB C - Bibliothèque client MongoDB pour C. [Apache2]
- Pilote MongoDB C++ - Pilote C++ pour MongoDB. [Apache2]
- MongoDB Libbson - Une bibliothèque d'utilitaires BSON. [Apache2]
- MySQL++ - Un wrapper C++ pour l'API C de MySQL. [LGPL]
- nanodbc - Un petit wrapper C++ pour l'API C ODBC native. [MIT]
- ODB - Un système de mappage objet-relationnel (ORM) open source, multiplateforme et multibase de données pour C++. [GPLv2]
- redis3m - Wrapper de Hiredis avec une interface C++ propre, prenant en charge les modèles Sentinel et prêts à l'emploi. [Apache2]
- Reindexer - Base de données intégrable, en mémoire, orientée document avec une interface de création de requêtes de haut niveau. Site Web [Apache2]
- RocksDB - Magasin clé-valeur intégré pour un stockage rapide depuis Facebook. [BSD]
- SimDB - Hautes performances, mémoire partagée, sans verrouillage, multiplateforme, fichier unique, dépendances minimales, magasin clé-valeur C++11. [Apache2]
- SOCI - Une couche d'abstraction de base de données pour C++. [Booster]
- Speedb - Projet dirigé par la communauté : un magasin de valeurs-clés intégré, évolutif et hautes performances, conforme à RocksDB. [Apache2]
- SQLite - Une base de données relationnelle entièrement intégrée et complète en quelques 100 000 $ que vous pouvez inclure directement dans votre projet. [Domaine public]
- SQLiteC++ - SQLiteC++ (SQLiteCpp) est un wrapper C++ SQLite3 intelligent et facile à utiliser. [MIT]
- sqlite_modern_cpp - En-tête uniquement wrapper C++14 autour de la bibliothèque sqlite. [MIT]
- sqlite_orm - Bibliothèque d'en-tête léger SQLite ORM uniquement pour le C++ moderne. [AGPL + MIT payant]
- sqlpp11 - Un langage spécifique au domaine intégré de type sécurisé pour les requêtes SQL et les résultats en C++. [Clause BSD-2]
- TileDB - SGBD à tableau multidimensionnel rapide, dense et clairsemé. Site Web du [MIT]
- TinyORM - Bibliothèque ORM C++ moderne. Site Web du [MIT]
- UnQLite - Un moteur NoSQL transactionnel autonome, sans serveur, sans configuration. Site Web [BSD-2-Clause]
- upscaledb - Un magasin de clé/valeur « typé » intégré avec une interface de requête intégrée. [GPLv3]
- Client TigerBeetleDB C++ (Communauté) - TigerBeetle est une base de données de comptabilité financière conçue pour assurer la sécurité et les performances critiques afin de propulser l'avenir des services financiers. [BSL-1.0]
- Trilogy - une bibliothèque client pour les serveurs de bases de données compatibles MySQL, conçue pour les performances, la flexibilité et la facilité d'intégration. [MIT]
- UStore - Base de données multimodale pour les BLOB, JSON et les graphiques. [Apache2]
- Velox - Une bibliothèque d'accélération de bases de données vectorisées C++ visant à optimiser les moteurs de requêtes et les systèmes de traitement de données. Site Web [Apache-2.0]
Visualisation des données
Bibliothèques de visualisation de données
- matplotplusplus - Bibliothèque graphique C++ pour la visualisation de données. Site Web du [MIT]
Déboguer
Bibliothèques de débogage, détection de fuite de mémoire et de fuite de ressources, tests unitaires
- forward-cpp - Une belle imprimante de trace de pile pour C++. [MIT]
- Bencher - Une suite d'outils d'analyse comparative continue conçus pour détecter les régressions de performances dans CI. [MIT]/[Apache2]
- benchmark - Google a fourni une petite bibliothèque de support de microbenchmark. [Apache2]
- Boost.Test - Bibliothèque de tests Boost. Site Web [Boost]
- check - Check est un framework de tests unitaires pour le site Web C. [LGPL-2.1]
- doctest - Le framework de test à en-tête unique C++ le plus léger et riche en fonctionnalités. [MIT]
- Catch2 - un cadre de test moderne, C ++ - natif pour les tests unitaires, TDD et BDD. [Booster]
- Cadre d'analyse comparative C ++ C ++. [Apache2]
- CPP-Dump - Une bibliothèque C ++ à des fins de débogage qui peuvent imprimer n'importe quelle variable, même des types définis par l'utilisateur. [MIT]
- CPPUTEST - Framework des tests unitaires et moqueurs pour C / C ++. [CLAUSE BSD-3]
- Mignon - C ++ Testing unitaire plus facile. [LGPL3]
- CMOCKA - Framework de test unitaire pour C avec la prise en charge des objets simulés. [Apache2]
- CPPBenchMark - Frame de référence de performance pour C ++ avec les nanosecondes mesure la précision. [MIT]
- CPPTRACE - Une bibliothèque C ++ StackTrace simple, portable et autonome prenant en charge C ++ 11 et plus. [MIT]
- Cppunit - Port C ++ de Junit. [LGPL2]
- CTEST - Le programme CMake Test Driver. [BSD]
- DBG-MACRO - Une macro DBG (…) pour C ++. [MIT]
- DebugViewpp - Débogage de la visionneuse de journalisation. [Booster]
- Deleaker - Un outil de détection des fuites de ressources, y compris la mémoire, le GDI et les fuites de gestion.
- Fakeit - Cadre moqueur simple pour C ++. [MIT]
- FFF - Un micro-travail pour créer de fausses fonctions C. [MIT]
- Google Mock - Une bibliothèque pour écrire et utiliser des classes C ++ Mock. [BSD]
- Test de Google - Framework de test Google C ++. [BSD]
- Ig-debugheap - tas de débogage multiplateforme utile pour suivre les erreurs de mémoire. [BSD]
- Libassert - la bibliothèque d'assertion C ++ la plus surdimensionnée. [MIT]
- libtap - Écrire des tests dans C. [GPL2]
- Microprofile - Profiler avec vue Web pour plusieurs plates-formes. [Non licence]
- MINUNIT - Un cadre de test unitaire minimal pour C autonome dans un seul fichier d'en-tête. [MIT]
- Mockator - Plug-in CDT Eclipse pour les coutures C ++ et les objets simulés.
- Nanobench - Fonctionnalité de microbenchage à tête simple, rapide, rapide et précise. [MIT] Site Web
- Nanotimer - une classe de minuterie multiplateforme simple à faible régime pour l'analyse comparative. [ZLIB] Site Web
- NONIUS - Un cadre de micro-benchmarking C ++. [CC]
- Remotery - Profiler de fichier C seul avec visionneuse Web. [Apache2]
- Snitch - Cadre de test C ++ 20 léger. [Booster]
- TOUCA - Système de test de régression open-source que vous pouvez vous auto-héberger. [Apache2] site Web
- UNITTEST ++ - Un cadre de test unitaire léger pour C ++. [Licence MIT / X Consortium]
- Unity - Test unitaire simple pour C. [MIT]
- utest.h - Framework de test d'unité d'en-tête unique pour C et C ++. [Non licence]
- μT - C ++ 20 en-tête unique / module unique, macro-sans μ (micro) / cadre de test unitaire. [Booster]
- VLD - Détecteur de fuite visuelle. Un système de détection de fuite de mémoire open-source libre et robuste pour visuel C ++.
Documentation
- DOXIDE - Documentation moderne pour C ++ moderne, configurez avec YAML, marque de sortie. [Apache 2.0] Site Web
- DOXYGEN ⚡ - L'outil standard de facto pour générer des documents à partir de sources C ++ annotées. [GPL2] Site Web
- DOXYREST - Un compilateur de Doxygen XML à restructuré de texte pour Sphinx. [MIT]
- HDOC - L'outil de documentation moderne pour C ++. [AGPL / propriétaire] Site Web
- Natural Docs - Natural Docs est un générateur de documentation open source pour plusieurs langages de programmation. [AGPL / propriétaire] Site Web
- Sphinx - Sphinx facilite la création de documentation intelligente et magnifique. [BSD-2-CLAUSE] Site Web
DSP
Traitement du signal numérique.
- DSPFilters - Une collection de classes C ++ utiles pour le traitement du signal numérique. [MIT]
- FFTW - bibliothèque AC pour calculer le DFT dans une ou plusieurs dimensions. [GPL]
- IIR1 - bibliothèque de filtre C ++ IIR en temps réel. [MIT]
- Kissfft - Une bibliothèque Fast Fourier Transform (FFT) qui essaie de rester simple, stupide. [CLAUSE BSD-3]
- PocketFFT - Implémentation FFT basée sur FFTPACK, mais avec plusieurs améliorations. [CLAUSE BSD-3]
- Implémentation en ondes en ondes de transforts en ondelettes 1D et 2D. [CLAUSE BSD-3]
Fonte
Bibliothèques pour analyser et manipuler des fichiers de police.
- FontConfig - Configuration de police et bibliothèque de personnalisation. [MIT] Site Web
- Freetype - Freetype est une bibliothèque de logiciels disponible librement pour rendre les polices. [FTL & GPLV2]
- OTFCC - bibliothèque AC et utilité utilisée pour analyser et écrire des fichiers de police OpenType. [Apache-2.0]
- HarfBuzz - un moteur de mise en forme de texte. [Old MIT]
- Libschrift - Une bibliothèque de rendu de police truetype légère. [ISC]
Moteur de jeu
- Acid - un moteur de jeu Vulkan C ++ 17 à haute vitesse. [MIT]
- Allegro - Une bibliothèque multiplateforme destinée principalement aux jeux vidéo et à la programmation multimédia. [ZLIB]
- Axmol Engine - Un moteur de jeu multiplateforme pour ordinateur de bureau, mobile et Xbox (UWP), dérivé de COCOS2D-X-4.0. [MIT] Site Web
- COCOS2D-X - un cadre multi-plate-forme pour la construction de jeux 2D, de livres interactifs, de démos et d'autres applications graphiques. [MIT]
- CORANGE - Un moteur de jeu écrit en Pure C, SDL et OpenGL. [BSD]
- Crown - Crown est un moteur de jeu basé sur les données à usage général, écrit à partir de zéro dans orthodoxe C ++ avec une philosophie de conception minimaliste et axée sur les données. [MIT]
- Delta3d - une plate-forme de simulation robuste. [LGPL2]
- Entt - Le jeu rencontre le C ++ moderne. [MIT]
- Gameplay - Un cadre de jeu C ++ multiplateforme natif pour la création de jeux mobiles et de bureau 2D / 3D. [Apache2]
- GODOT - Un moteur de jeu entièrement en vedette et open source, sous licence MIT. [MIT]
- Grit - Projet communautaire pour construire un moteur de jeu gratuit pour mettre en œuvre des jeux mondiaux Open World 3D. [MIT]
- HALLEY - Un moteur de jeu léger écrit en C ++ 14 avec un "vrai" système entité-composants. [Apache 2.0]
- JNGL - Bibliothèque 2D pour Linux, Windows, MacOS, Android, iOS, Xbox, Nintendo Switch et le Web. [ZLIB] Site Web
- KLAYGE - Un moteur de jeu open source multiplateforme avec architecture basée sur les plugins. [GPLV2] Site Web
- NCINE - Un moteur de jeu 2D multiplateforme en mettant l'accent sur les performances, écrit en C ++ 11 et éventuellement scriptable dans LUA. [MIT] Site Web
- O3DE - un moteur 3D à long terme en temps réel et en temps réel basé sur Amazon Lumberyard. [Apache2] site Web
- OpenXRAY - Un moteur à rayons X modifié par la communauté utilisé dans les séries de jeux Stalker. [BSD modifié / non commercial uniquement]
- OXYGINE - Un moteur de jeu C ++ multiplateforme 2D. [MIT]
- PANDA3D - Un moteur de jeu, un cadre pour le rendu 3D et le développement de jeux pour les programmes Python et C ++. [BSD modifié] Site Web
- PixelgameEngine - La distribution officielle d'OlcpixelgameEngine, un outil utilisé dans les vidéos et projets YouTube de Javidx9. [OLC3]
- Polycode - un cadre multiplateforme pour le code créatif en C ++ (avec LUA Bindings). [MIT] Site Web
- Quakeforge - Branche maintenue activement du code du moteur du tremblement de terre d'origine avec plus de 20 ans de développement. [GPL-2.0]
- Raylib - une bibliothèque simple et facile à utiliser pour profiter de la programmation des jeux vidéo. [ZLIB / LIBPNG] Site Web
- Spring - un puissant moteur de jeu RTS multiplateforme gratuit. [GPLV2 / GPLV3] Site Web
- TORQUE2D - Un moteur C ++ open-source et multiplateforme construit pour le développement de jeux 2D. [MIT] Site Web
- TORQUE3D - Un moteur C ++ open source construit pour le développement de jeux 3D. [MIT] Site Web
- Toy Engine - Le jouet est un moteur de jeu C ++ mince et modulaire et offre des idiomes C ++ expressifs simples pour concevoir des jeux 2D ou 3D complets complets en itérations rapides.
- URHO3D - Un moteur de jeu gratuit et multiplateforme léger et 3D implémenté en C ++. Grandement inspiré par Ogre et Horde3d. [MIT]
- Ezengine - est un moteur de jeu libre et open source écrit en C ++. Sa philosophie est d'être modulaire et flexible, de sorte qu'il peut être adapté à de nombreux cas d'utilisation différents. [MIT] Site Web
Graphique
- CXXGRAPH - C ++ (17) Bibliothèque d'en-tête graphique gratuite pour la représentation et l'exécution des algorithmes. [AGPL-3.0]
- GRAAF - Une bibliothèque graphique C ++ 20 à usage général. [MIT] Site Web
Interface graphique
Interface utilisateur graphique
- Boden - Cadre d'interface graphique mobile, mobile, multiplateforme. [GPL / LGPL / Propriétaire] Site Web
- CEGUI - Bibliothèque GUI multiplateforme flexible.
- Éléments - Bibliothèque d'interface graphique modulaire légère, à grain fin, indépendant de résolution, modulaire. [MIT]
- FLTK - boîte à outils GUI C ++ Fast, Light, Light et multiplateforme. [LGPL2]
- Fox Toolkit - une boîte à outils de widget de plate-forme multiplateforme open source. [LGPL]
- Gacui - GPU Interface utilisateur C ++ accélérée, avec des outils de développement WYSIWYG, des supports XML, des fonctionnalités de liaison de données intégrées et MVVM. [Ms-pl]
- GTK + - une boîte à outils multi-plateformes pour créer des interfaces utilisateur graphiques. [LGPL]
- GTKMM - L'interface C ++ officielle de la bibliothèque GUI populaire GTK +. [LGPL]
- IMGUI - Interface utilisateur graphique en mode immédiat avec des dépendances minimales. [MIT]
- IMPLOT - MODE IMMÉDIATE PROTATING WIDGETS POUR IMGUI. [MIT]
- IUP - boîte à outils multiplateforme pour la construction d'interfaces utilisateur graphiques. [MIT]
- Libui - bibliothèque GUI simple et portable (mais non inflexible) en C qui utilise les technologies d'interface graphique natives de chaque plate-forme qu'il prend en charge. [MIT]
- MyGui - GUI rapide, flexible et simple. [MIT]
- Nana - Nana est une bibliothèque multiplateforme pour la programmation GUI dans le style C ++ moderne. [Booster]
- Nanogui - Une bibliothèque de widget multiplateforme minimaliste pour OpenGL 3.x ou supérieur. [BSD]
- Nuklear - une bibliothèque GUI ANSI C à tête C. [PublicDomain]
- QCustomPlot - QT Plasting Widget sans autres dépendances. [GPLV3]
- QWT - Widgets QT pour les applications techniques. [Propre basé sur LGPL]
- QWTPLOT3D - Une bibliothèque de programmation C ++ basée sur QT / OpenGL riche en fonctionnalités, offrant essentiellement un tas de widgets 3D. [ZLIB]
- RMLUI - La bibliothèque d'interface utilisateur HTML / CSS a évolué. Fork de Bloqué. [MIT]
- Saucer - Une bibliothèque moderne et multiplateforme C ++ WebView. [MIT]
- Sciter - Sciter est un moteur HTML / CSS / Scripting intégré à être utilisé comme couche d'interface utilisateur d'applications de bureau modernes. [Gratuit / commercial]
- Slint - boîte à outils GUI légère pour le bureau et intégré. [GPL / Free / Proprietary] Site Web
- TGUI - GUI C ++ moderne multiplateforme. [ZLIB] Site Web
- WebUI - Utilisez n'importe quel navigateur Web comme GUI, avec votre langue préférée dans le backend et HTML5 dans le frontend. [MIT] Site Web
- WXCHARTS - Une bibliothèque pour créer des graphiques dans les applications WXWidgets. [MIT] Site Web
- WXWidgets - Une bibliothèque C ++ qui permet aux développeurs de créer des applications pour Windows, Mac OS X, Linux et d'autres plates-formes avec une seule base de code. [Propre LGPL]
- XTD - Framework C ++ 17/20 moderne pour créer la console (CLI), les formulaires (GUI comme WinForms) et TUNIT (tests unitaires comme Microsoft Unit Test Framework) Applications sur Windows, MacOS, Linux, IOS et Android. [MIT]
- Yue - une bibliothèque pour créer des applications GUI multiplateforme natives. [LGPLV2]
Graphique
- ASSIMM - Open Asset Import Library (ASSIMP) est une bibliothèque d'importation de modèle 3D multiplateforme qui vise à fournir une API commune pour différents formats de fichiers d'actifs 3D. [CLAUSE BSD-3] Site Web
- BGFX - Une bibliothèque de rendu multiplateforme. [BSD]
- Blend2d - moteur graphique vectoriel 2D propulsé par un compilateur JIT. [ZLIB] Site Web
- CAIRO - Une bibliothèque graphique 2D avec prise en charge de plusieurs périphériques de sortie. [LGPL2 ou Mozilla MPL]
- C-TURTLE - Une bibliothèque graphique de tortues en en-tête C ++ 11 uniquement uniquement agissant comme un emballage CIMG. [MIT]
- Diligent Engine - Une bibliothèque graphique 3D de bas niveau moderne de bas niveau. [Apache2]
- DirectXtk - Une collection de classes d'assistance pour écrire le code DirectX 11.x en C ++. [MIT]
- GLFW - Une bibliothèque de Wrangling OpenGL simple et multiplateforme. [Zlib / libpng]
- GLFWPP - Un mince emballage moderne C ++ 17 en tête uniquement pour GLFW. [MIT]
- Bibliothèque de visualisation HARFANG 3D 3D utilisable en C ++, Python, Lua et Go. Basé sur BGFX. [GPLV3 / LGPLV3 / Proprietary] Site Web
- HereDedragons - Une scène 3D de base implémentée avec divers moteurs, cadres ou API. [MIT] Site Web
- Horde3d - un petit moteur de rendu et d'animation 3D. [EPL]
- ION - Un ensemble petit et efficace de bibliothèques pour la création d'applications client ou serveur multiplateforme qui utilisent des graphiques 3D. [Apache2] site Web
- IRRLICHT - Un moteur 3D en temps réel haute performance écrit en C ++. [ZLIB]
- Libigl - bibliothèque de traitement de la géométrie C ++ simple. [MPL2]
- LLGL - La bibliothèque graphique de bas niveau (LLGL) est une fine couche d'abstraction pour les API graphiques modernes. [CLAUSE BSD-3]
- LUNASVG - Une bibliothèque de rendu SVG autonome en C ++. [MIT]
- MAGNUM - MIDGLE MIDDAGIE GRAPHIQUE LEGMONDAIRE ET MODULAIRE CLA ++ 11 / C ++ 14 pour les jeux et la visualisation des données. [MIT] Site Web
- Micro-Gl - En-têtes en temps réel, intégrés, uniquement graphiques V ++ 11 CPU. Pas de lib std, pas de FPU et aucun GPU requis. [Custom] Site Web
- Nanovg - bibliothèque de dessin vectorielle 2D antialiasé au-dessus d'OpenGL pour l'interface utilisateur et les visualisations. [ZLIB]
- Ogre 3D ⚡ - Un moteur de rendu 3D flexible orienté vers la scène, en temps réel et flexible (par opposition à un moteur de jeu) écrit en C ++. [MIT] Site Web
- OpenScenegraph - une boîte à outils graphique 3D Open Source haute performance. [OSGPL]
- OpenSubdiv - Bibliothèque de Pixar pour évaluer et rendre les surfaces de subdivision sur CPU et GPU. [Apache2 modifié]
- OpenVDB - Bibliothèque et outils pour le stockage, l'édition et le rendu des ensembles de données volumétriques. [MPL2]
- PANDA3D - Un cadre pour le rendu 3D et le développement de jeux pour Python et C ++. [BSD]
- Partio - Library pour les données de particules en train de taper, avec la prise en charge de la plupart des formats de fichiers courants. [BSD modifié]
- Skia - Une bibliothèque graphique 2D complète pour dessiner du texte, des géométries et des images. [BSD] Site Web
- Thorvg - Une bibliothèque portable indépendante de la plate-forme qui permet de dessiner des scènes et des animations basées sur les vecteurs, y compris SVG et Lottie. [MIT] Site Web
- Tinyspline - Une petite bibliothèque ANSI C petite mais puissante pour interpoler, transformer et interroger les nurbs arbitraires, les courbes B et Bézier. [MIT]
- URHO3D - rendu multiplateforme et moteur de jeu. [Beaucoup différents, principalement le MIT]
- Yocto / GL - Tiny C ++ Libraries pour les graphiques physiquement basés sur les données. [MIT]
Traitement d'images
- Boost.gil - bibliothèque d'images générique. [Boost] Site Web
- BitMapplusplus - En-tête simple et rapide uniquement bibliothèque Bitmap C ++. [MIT]
- CIMG - Une petite boîte à outils open source et C ++ pour le traitement d'image. [Propre LGPL ou GPL]
- Cximage - Une bibliothèque de traitement et de conversion d'image pour charger, enregistrer, afficher, transformer BMP, jpeg, gif, png, tiff, mng, ico, pcx, tga, wmf, wbmp, jbg, j2k images. [ZLIB]
- DLIB ⚡ - Un apprentissage automatique C ++ 11 moderne, une vision par ordinateur, une optimisation numérique et une boîte à outils d'apprentissage en profondeur. [Boost] Site Web
- FPNG - Super Fast C ++ .png Writer / Reader. [Non licence]
- FreeImage - Une bibliothèque open source qui prend en charge les formats d'image graphiques populaires et autres au besoin par les applications multimédias d'aujourd'hui. [GPL2 ou GPL3]
- Bibliothèque graphique GD - GD, célèbre en PHP pour le chargement / manipulation d'images et la génération de miniatures. [Licence permissive personnalisée, nécessite une mention dans les documents utilisateur] Site Web
- DCMTK - DICOM Toolkit.
- GDCM - Bibliothèque de base DICOM.
- ITK - un système d'ouverture en source d'origine pour l'analyse d'image. [Apache2 d'ITK 4.0]
- [JPEGLI] [https://github.com/google/jpegli] - Une implémentation de l'encodeur et de décodeur JPEG améliorée. [CLAUSE BSD-3]
- Leptonica - Leptonica est une bibliothèque open source contenant un logiciel largement utile pour les applications de traitement d'image et d'analyse d'image. [BSD-2-CLAUSE] Site Web
- Libavif - Bibliothèque pour l'encodage et le décodage des fichiers .AVIF. [CLAUSE BSD-2]
- libfacedetection - bibliothèque open source pour la détection du visage dans les images. La vitesse de détection du visage peut atteindre 1500 images par seconde. [BSD]
- Libjpeg-Turbo - Un codec d'image JPEG qui utilise des instructions SIMD pour accélérer le codage et le décodage JPEG de base. [IJG & BSD-3-CLAUSE & ZLIB] Site Web
- libjxl - implémentation de référence du format d'image jpeg xl. [CLAUSE BSD-3]
- libpng - La bibliothèque de référence à utiliser dans les applications qui lisent, créent et manipulent des fichiers d'image Raster PNG (Network Graphics). [libpng-2.0] site Web
- libspng - alternative simple et moderne. [BSD-2] Site Web
- Libvips - Une bibliothèque de traitement d'image rapide avec des besoins en mémoire faible. [LGPL] Site Web
- LODEPNG - Encodeur PNG et décodeur en C et C ++. [ZLIB]
- Magick ++ - ImageMagick Program Interfaces pour C ++. [Apache2]
- MagickWnd - ImageMagick Program Interfaces pour C. [Apache2]
- Mozjpeg - Encodeur JPEG amélioré. [BSD / BSD-3-CLAUSE / ZLIB]
- OpenCV ⚡ - Vision de l'ordinateur open source. [Apache2] site Web
- OpenExr - bibliothèque multiplateforme pour une imagerie à portée dynamique élevée. [BSDF modifié]
- OpenImageio - Bibliothèque puissante d'image et de texture avec prise en charge d'un grand nombre de formats avec perte et bruts communs. [BSD modifié]
- OpenJPEG - Un codec JPEG 2000 open source écrit en langue C. [CLAUSE BSD-2]
- Qoi - le «format d'image assez ok» pour la compression d'image rapide et sans perte. [MIT]
- Sail - bibliothèque de décodage d'image multiplateforme facile à utiliser avec des codecs d'image enfichables. [MIT]
- Bibliothèque de traitement d'image SIMD - C ++ avec l'utilisation de SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX (ALTIVEC) et VSX (Power7), NEON pour ARM. [MIT]
- STB-IMAGE - Bibliothèque de chargement d'image unique STB. [Domaine public]
- Tesseract-OCR - Un moteur OCR. [Apache2]
- Tinydng - en tête uniquement de chargeur DNG / TIFF et écrivain en C ++. [MIT]
- TINYEXIF - Tiny ISO Concel C ++ EXIF et XMP Analyse Bibliothèque pour JPEG. [MIT]
- Tinytiff - Library Lightweight Tiff Reader / Writer. [GPL-3.0]
- Vidéo ++ - A C ++ 14 Bibliothèque de traitements vidéo et de traitement d'image C ++ 14. [MIT]
- VIGRA - Une bibliothèque générique de vision par ordinateur C ++ pour l'analyse d'image. [MIT X11]
- VTK - Système logiciel open-source, disponible gratuitement pour informatique 3D, traitement d'image et visualisation. [BSD]
Internationalisation
- getText - gnu 'getText'. [GPL2]
- IBM ICU - Un ensemble de bibliothèques C / C ++ et Java fournissant un support Unicode et de mondialisation. [USI]
- LiBiConv - Une bibliothèque de conversion de codage entre différents codages de caractères. [GPL]
- SIMDUTF - Routines Unicode (UTF8, UTF16, UTF32): milliards de caractères par seconde en utilisant SSE2, AVX2, NEON, AVX-512. [Apache-2 / MIT]
- Uni-Algo - Implémentation des algorithmes Unicode pour C / C ++. [Non licence ou MIT]
- UTF8.H - Fonctions de chaîne UTF8 d'en-tête unique pour C et C ++. [Non licence]
- UTF8Proc - Une bibliothèque C propre pour le traitement des données UNICODE UTF-8. [MIT]
Communication inter-processus
- Apache Thrift - IPC / RPC transversal efficace, fonctionne entre C ++, Java, Python, PHP, C # et bien d'autres langues. Développé à l'origine par Facebook. [Apache2]
- Boost.interprocess - Bibliothèque Boost en tête uniquement qui prend en charge la mémoire partagée au niveau du noyau et les fichiers mappés de mémoire, avec des mécanismes de synchronisation intégrés (sémaphores, mutexes, etc.). [Boost] Site Web
- BRPC - BRPC est un framework RPC de qualité industrielle utilisant la langue C ++, qui est souvent utilisée dans le système haute performance tel que la recherche, le stockage, l'apprentissage automatique, la publicité, la recommandation, etc. [Apache2]
- Cap'n Proto - Format d'échange de données rapide et système RPC basé sur les capacités. [MIT] Site Web
- ECAL - Pub / Sub, client / serveur, C ++ / Python / C #, divers protocoles de messages (Protobuf, Capnproto ..). [Apache2] site Web
- GRPC - Framework RPC à usage général de haute performance, open source. [BSD] Site Web
- Ice - Framework RPC complet avec prise en charge de C ++, C #, Java, JavaScript, Python et plus encore. [GPLV2]
- Iceoryx - True Cadre de communication interprète zéro-copie pour les systèmes critiques de sécurité avec des liaisons pour C, Rust. Exécute sur Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] site Web
- Libjson-RPC-CPP - Framework JSON-RPC pour les serveurs et clients C ++. [MIT]
- Nanomsg - Une simple implémentation haute performance de plusieurs "protocoles d'évolutivité". [MIT] Site Web
- Nng - Nanomsg-next-Generation, une bibliothèque de messagerie sans courtage légère. [MIT] Site Web
- RPCLIB - Un serveur C ++ MSGPACK RPC moderne et une bibliothèque client. [MIT]
- Simple-RPC-CPP - Un générateur de wrapper RPC simple aux fonctions C / C ++. [BSD]
- SRPC - Un système RPC léger qui prend en charge plusieurs protocoles et oppentelémétrie. [Apache2]
- WAMP - Fournit des modèles RPC et PUB / sous-messagerie. (diverses implémentations, diverses langues)
- XMLRPC-C - Une bibliothèque RPC légère basée sur XML et HTTP. [BSD]
JSON
- Boost.propertytree - un analyseur / générateur d'arborescence de propriétés qui peut être utilisé pour analyser les fichiers XML / JSON / INI / INFO. [Boost] Site Web
- CJSON - Parser JSON Ultralightweight dans ANSI C. [MIT]
- DAW JSON LINK - Sérialisation JSON rapide et pratique et analyse en C ++. [BSL-1.0]
- Frozen - analyseur JSON et générateur pour C / C ++. [GPL & GPL2]
- Glaze - Extrêmement rapide, en mémoire, JSON et bibliothèque d'interface pour C ++ moderne. [MIT]
- Bibliothèque Jansson - C pour l'encodage, le décodage et la manipulation des données JSON. [MIT]
- JBSON - JBSON est une bibliothèque pour construire et itérer les données BSON, et JSON documente en C ++ 14. [Booster]
- Jeayeson - une bibliothèque JSON très saine (en-tête unique). [BSD]
- JSMN - Un analyseur JSON minimaliste dans C. [MIT]
- JSON ⚡ - JSON pour C ++ moderne. [MIT] Site Web
- JSON ++ - un analyseur JSON en C ++. [MIT]
- JSON.CPP - Une bibliothèque Baroque JSON Analyse / sérialisation pour C ++. [Apache-2.0]
- JSON.H - Une solution de source / une source simple pour analyser JSON en C et C ++. [Non licence]
- JSON-BUILD - C89 Sérialiseur JSON Tiny Zero-Allocation. [MIT]
- JSON-C - Une implémentation JSON dans C. [MIT]
- JSONCONS - Une bibliothèque d'en-tête C ++ pour les formats binaires JSON et JSON avec JSONPointer, JSONPatch, JSONPath et JMESPath. [Booster]
- JSONCPP - Une bibliothèque C ++ pour interagir avec JSON. [MIT]
- JSONIFIER - quelques classes d'analyse et de sérialisation d'objets de / vers JSON - très rapidement. [MIT]
- JSONParse - Un analyseur JSON simple dans ANSI C. [MIT]
- JSON-PARSER - Empreinte très basse JSON Parser écrit en portable ANSI C. [BSD]
- JSON11 - Une petite bibliothèque JSON pour C ++ 11. [MIT]
- JSON-STURT - Haute performance, en-tête unique Analyser JSON Analyse vers et depuis C ++ Structs. [MIT]
- JSON-VOORHEES - Bibliothèque JSON pour C ++. Prise en charge de C ++ 11. Pas de dépendances, rapide et dévouée. [Apache2]
- JSON Toolkit - JSON, JSON Pointer, JSON Schema et JSONL Library pour C ++ 20. [AGPL / Commercial]
- Jute - Parser JSON C ++ très simple. [PublicDomain]
- Libjson - Une bibliothèque JSON Parser et d'imprimante dans C. Facile à intégrer avec n'importe quel modèle. [LGPL]
- Libjson - Bibliothèque JSON légère. [?]
- Libucl ⚡ - analyseur de bibliothèque de configuration universelle. [CLAUSE BSD-2]
- Parson - Parson est une bibliothèque JSON de poids légère écrit en C. [MIT]
- Picojson - Sérialiseur JSON Parser en tête uniquement en tête uniquement en C ++. [BSD]
- QT-JSON - Une classe simple pour analyser les données JSON dans une hiérarchie QVariant et vice versa. [GPLV3]
- QJSON - Une bibliothèque basée sur QT qui mappe les données JSON vers des objets QVariant. [LGPL2]
- RapidJson ⚡ - un analyser / générateur JSON rapide pour C ++ avec les deux API de style sax / Dom. [MIT] Site Web
- SAJSON - Parser JSON léger, extrêmement performant pour C ++ 11. [MIT]
- SIMDJSON - Bibliothèque JSON extrêmement rapide qui peut analyser les gigaoctets de JSON par seconde. [Apache-2.0]
- Sonic-CPP - Une bibliothèque JSON Fast JSON Serializing & Deserializing, accélérée par SIMD. [Apache-2.0]
- TAOJSON - Bibliothèque JSON en tête C ++ Zero-Dependance. [MIT]
- Ujson - µjson est AA Small, C ++ 11, UTF-8, JSON Library. [MIT]
- Ultrajson - Ultra Fast JSON Decoder and Encodeur écrit en C. [CLAUSE BSD-3]
- Yajl - Une bibliothèque d'analyse JSON en streaming rapide dans C. [ISC]
- Yyjson - Une bibliothèque JSON haute performance écrite dans ANSI C. [MIT]
Enregistrement
- Blackhole - Frame de journalisation basé sur des attributs, qui est conçu pour être rapide, modulaire et hautement personnalisable. [MIT]
- Boost.log - conçu pour être très modulaire et extensible. [Boost] Site Web
- BQLOG - Un système de journalisation léger et haute performance utilisé dans des projets tels que "Honor of Kings". [Apache-2.0]
- Easylogging ++ - bibliothèque de journalisation haute performance extrêmement légère pour les applications C ++ 11 (ou plus). [MIT]
- FMTLOG - Une bibliothèque de journalisation de style FMTLIB performant avec latence en nanosecondes. [MIT]
- G3Log - Enregistreur asynchrone avec des puits dynamiques. [PublicDomain]
- GLOG - Implémentation C ++ du module de journalisation Google.
- HACLOG - Une bibliothèque de journalisation C plaine extrêmement rapide. [MIT]
- LOG4CPP - Une bibliothèque de classes C ++ pour la journalisation flexible aux fichiers, Syslog, IDSA et autres destinations. [LGPL]
- log4cplus - une API de journalisation C ++ simple fournissant une file d'attente, FL