C++
Source: https://github.com/fffaraz/awesome-cpp at
e724f64ef0c1
License: MIT
Read the English original
This edition is an AI-assisted translation.
Awesome C++

Section intitulée « Awesome C++ »Une sélection de frameworks, bibliothèques, ressources et autres merveilles pour C++ (ou C). Inspirée notamment par awesome-…
- Awesome C++
- Bibliothèques standard
- Frameworks
- Intelligence artificielle
- Boucle d’événements asynchrone
- Audio
- Biologie
- BitTorrent
- Chimie
- CLI
- Compression
- Concurrence
- Configuration
- Conteneurs
- Cryptographie
- CSV
- Bases de données
- Visualisation des données
- Débogage
- Documentation
- DSP
- Polices
- Moteurs de jeu
- Graphes
- GUI
- Graphisme
- Traitement d’images
- Internationalisation
- Communication interprocessus
- JSON
- Journalisation
- Machine Learning
- Mathématiques
- Allocation mémoire
- Multimédia
- Réseaux
- Office Open XML
- Physique
- Réflexion
- Expressions régulières
- Robotique
- Calcul scientifique
- Scripting
- Sérialisation
- Port série
- Tri
- Video
- Machines virtuelles
- Frameworks d’applications web
- XML
- Yaml
- Divers
- Logiciels
- Ressources
- Autres listes remarquables
- Emplois
- Sponsors
- Contribuer - Si vous remarquez un projet ou un lien qui n’est plus maintenu ou n’a pas sa place ici, veuillez proposer une pull request pour améliorer ce document. Merci !
Bibliothèques standard
Section intitulée « Bibliothèques standard »Bibliothèque standard C++, y compris les conteneurs, algorithmes, composants fonctionnels de la STL, etc.
- C++ Standard Library - Ensemble de classes et de fonctions écrites dans le langage de base et faisant partie intégrante de la norme ISO C++.
- Standard Template Library - La bibliothèque standard de modèles (STL).
- C POSIX library - Spécification d’une bibliothèque standard C pour les systèmes POSIX.
- ISO C++ Standards Committee - ISO/IEC JTC1/SC22/WG21, le comité de normalisation du C++. site web
- The GNU C Library - Ce manuel explique comment utiliser les fonctionnalités de la bibliothèque GNU C.
Frameworks
Section intitulée « Frameworks »Frameworks et bibliothèques génériques en C++.
- abseil-cpp - Bibliothèques C++ généralistes d’Abseil. [Apache2]
- Apache C++ Standard Library - STDCXX, un ensemble d’algorithmes, de conteneurs, d’itérateurs et d’autres composants fondamentaux. [retired] [Apache2]
- APR - Apache Portable Runtime, une bibliothèque de fonctions utilitaires multiplateformes. [Apache2]
- ASL - Les Adobe Source Libraries fournissent des bibliothèques de code source C++ portables et évaluées par les pairs. [MIT]
- AUI - Boîte à outils d’interface utilisateur déclarative pour C++20. [MPL2]
- Boost :zap: - Une vaste collection de bibliothèques C++ génériques. [Boost] site web
- BDE - Environnement de développement BDE de Bloomberg Labs. [Apache2]
- C++ Workflow :zap: - Moteur de calcul parallèle et de réseau asynchrone en C++. [Apache2]
- CGraph - Framework DAG multiplateforme en C++, sans dépendance tierce. [MIT]
- Cinder - Bibliothèque libre et open source, développée par la communauté pour la programmation créative de qualité professionnelle. [BSD]
- Coost - Bibliothèque C++ légère et sans dépendances, avec des coroutines de style Go, la journalisation, la configuration et d’autres utilitaires. [MIT]
- Cxxomfort - Petite bibliothèque ne contenant que des fichiers d’en-tête, qui rétroporte diverses fonctionnalités des normes C++ récentes vers C++03 et les versions ultérieures. [MIT]
- Dlib :zap: - Boîte à outils pour créer des applications C++ réelles d’apprentissage automatique et d’analyse de données. [Boost] site web
- EASTL - Bibliothèque standard de modèles d’Electronic Arts. [BSD]
- ETL - Bibliothèque de modèles pour systèmes embarqués. [MIT]
- ffead-cpp - Framework de développement d’applications d’entreprise. [Apache2]
- Folly - Bibliothèque C++ open source développée et utilisée chez Facebook. [Apache2]
- FunctionalPlus - Bibliothèque de programmation fonctionnelle en C++. Écrivez du code C++ concis et lisible. [MIT]
- GLib - GLib fournit les composants fondamentaux nécessaires aux bibliothèques et applications écrites en C. [LGPL]
- itlib - Collection de bibliothèques C++ à en-tête unique, semblables à celles de std. [MIT]
- JUCE - Bibliothèque de classes C++ complète pour développer des logiciels multiplateformes. [Module principal : ISC, autres : GPL2/GPL3/propriétaire] site web
- Kigs framework - Framework RAD C++ modulaire, polyvalent, multiplateforme, libre et open source. [MIT] site web
- libPhenom - Framework de gestion d’événements pour créer des systèmes C hautes performances et hautement évolutifs. [Apache2]
- LibSourcey - Entrées-sorties événementielles en C++11 pour la diffusion vidéo en temps réel et les applications réseau hautes performances. [LGPL]
- LibU - Bibliothèque utilitaire multiplateforme écrite en C. [BSD]
- libxutils - Bibliothèque C multiplateforme, simple et puissante, fournissant des structures de données, des algorithmes et bien plus encore. [MIT]
- Loki - Bibliothèque de conception C++ proposant des implémentations flexibles de motifs de conception et d’idiomes courants. [MIT]
- micron.cpp - Réimplémentation et refonte entièrement en C++ de libc et de la bibliothèque standard. [Boost/MIT]
- MiLi - Bibliothèque C++ minimale, uniquement composée de fichiers d’en-tête. [Boost]
- OpenFrameworks - Boîte à outils open source multiplateforme pour la programmation créative en C++. [MIT] site web
- PhotonLibOS - Framework C++ complet comprenant des threads efficaces en espace utilisateur (coroutines avec vol de travail), les E/S, le réseau, RPC, HTTP, etc., largement utilisé chez Alibaba. Compatible avec C++ 14/17/20/23, Linux, macOS, x86-64, ARM64, gcc et clang. [Apache2] site web
- Qt :zap: - Framework multiplateforme pour les applications et les interfaces utilisateur. [GPL/LGPL/propriétaire] site web
- Reason - Framework multiplateforme conçu pour offrir la simplicité d’utilisation de Java, .Net ou Python aux développeurs qui ont besoin des performances et de la puissance de C++. [GPL2]
- ROOT - Ensemble de frameworks orientés objet fournissant toutes les fonctionnalités nécessaires pour traiter et analyser très efficacement de grandes quantités de données. Utilisé au CERN. [LGPL]
- rpp - Remplacement minimal de la STL en C++20, inspiré de Rust. [MIT]
- SaneCppLibraries - Ensemble de bibliothèques d’abstraction de plateforme C++ pour macOS, Windows et Linux. [MIT] site web
- Seastar - Framework C++ open source avancé destiné aux applications serveur hautes performances sur matériel moderne. [Licence Apache 2.0] seastar.io
- sfl library - Bibliothèque C++11 à en-tête unique fournissant plusieurs conteneurs nouveaux ou moins connus, dont certains utilisables dans des expressions constantes C++20. [zlib]
- Siv3D - Siv3D (OpenSiv3D) est un framework C++20 de programmation créative (jeux 2D/3D, art multimédia, visualisations et simulateurs). [MIT] site web
- STLport - Implémentation exemplaire de la STL. [Libre]
- STXXL - Bibliothèque standard de modèles pour les ensembles de données de très grande taille. [Boost]
- tbox - Bibliothèque C multiplateforme semblable à GLib. [Apache2] site web
- Ultimate++ - Framework C++ multiplateforme de développement rapide d’applications. [BSD]
- Windows Template Library - Bibliothèque C++ pour le développement d’applications Windows et de composants d’interface utilisateur. [Public]
- WUI - WUI (Window User Interface Library) est une bibliothèque multiplateforme pour créer des interfaces graphiques en C++17+. [Boost] site web
- xtd - Framework C++20 moderne pour créer des applications console (CLI), des formulaires (GUI) et des tests unitaires (xUnit) sous Windows, macOS, Linux, iOS, Android, FreeBSD et Haiku. [MIT]
- Yomm2 - Méthodes multiples rapides, orthogonales et ouvertes. Remplace Yomm11. [Boost]
- YUP! - Framework moderne optimisé pour l’audio en temps réel et les logiciels créatifs exploitant nativement le GPU. [ISC]
Intelligence artificielle
Section intitulée « Intelligence artificielle »- ANNetGPGPU - Bibliothèque de réseaux neuronaux artificiels s’appuyant sur le GPU (CUDA). [LGPL]
- btsk - Kit de démarrage pour les arbres de comportement de jeu. [zlib]
- cpp-mcp - SDK léger du MCP (Model Context Protocol) en C++. [MIT]
- Evolving Objects - Bibliothèque de calcul évolutionnaire à base de modèles, en ANSI-C++, qui permet d’écrire très rapidement ses propres algorithmes d’optimisation stochastique. [LGPL]
- fastmcpp - Portage C++ de la bibliothèque Python fastmcp. [Apache2]
- frugally-deep - Bibliothèque à en-tête unique pour utiliser des modèles Keras en C++. [MIT]
- Genann - Bibliothèque simple de réseaux neuronaux en C. [zlib]
- MXNet - Apprentissage profond distribué et mobile, léger, portable et flexible, avec un planificateur dynamique de dépendances de flux de données tenant compte des mutations ; pour Python, R, Julia, Scala, Go, JavaScript et plus encore. site web
- PyTorch - Tenseurs et réseaux neuronaux dynamiques en Python, avec une forte accélération GPU. site web
- flashlight - Bibliothèque d’apprentissage automatique rapide et flexible, entièrement écrite en C++. [BSD]
- Recast/Detour - Générateur de maillages de navigation (3D) et recherche de chemin, principalement pour les jeux. [zlib]
- TensorFlow - Bibliothèque logicielle open source de calcul numérique au moyen de graphes de flux de données. [Apache]
- Txeo - Wrapper moderne de TensorFlow pour C++. [Apache]
- oneDNN - Bibliothèque de performances multiplateforme open source pour les applications d’apprentissage profond. [Apache] site web
- CNTK - Microsoft Cognitive Toolkit (CNTK), boîte à outils open source d’apprentissage profond. [Boost]
- tiny-dnn - Framework d’apprentissage profond C++11 sans dépendances, uniquement composé de fichiers d’en-tête. [BSD]
- Veles - Plateforme distribuée pour développer rapidement des applications d’apprentissage profond. [Apache]
- Kaldi - Boîte à outils de reconnaissance vocale. [Apache]
Boucle d’événements asynchrone
Section intitulée « Boucle d’événements asynchrone »- Asio - Bibliothèque C++ multiplateforme pour la programmation réseau et les E/S de bas niveau, qui fournit aux développeurs un modèle asynchrone cohérent fondé sur une approche C++ moderne. [Boost] site web
- Boost.Asio - Bibliothèque C++ multiplateforme pour la programmation réseau et les E/S de bas niveau. [Boost] site web
- C++ Actor Framework - Implémentation open source du modèle acteur en C++. [BSD-3-Clause] site web
- Ichor - File d’événements privilégiant la sécurité des threads et fournissant l’injection de dépendances. [MIT]
- libev - Boucle d’événements complète et performante, inspirée de libevent mais sans ses limitations ni ses bogues. [BSD et GPL]
- libevent - Bibliothèque de notification d’événements. [BSD]
- libhv - Bibliothèque de boucle d’événements multiplateforme. [BSD]
- libuv - E/S asynchrones multiplateformes. [BSD]
- promise-cpp - Bibliothèque à en-tête unique implémentant la norme Promise/A+. [Anti-996]
- uvw - Wrapper C++ de libuv. [MIT]
- uv-cpp - Bibliothèque réseau performante basée sur C++11 et dotée d’une interface simple. [MIT]
Bibliothèques audio, son, musique et voix numérisée
- Amplitude Audio SDK - Moteur audio multiplateforme conçu pour répondre aux besoins des jeux. [Apache-2.0] site web
- Aubio - Bibliothèque d’analyse audio et musicale. [GPL-3.0] site web
- AudioFile - Bibliothèque C++ simple pour lire et écrire des fichiers audio. [MIT]
- audioFlux - Bibliothèque C d’analyse audio et musicale et d’extraction de caractéristiques. [MIT]
- dr_libs - Bibliothèques de décodage audio en fichier unique pour C et C++. [Unlicense]
- FMOD - Moteur audio multiplateforme facile à utiliser et outil de création de contenu audio pour les jeux. [Gratuit pour usage non commercial / commercial]
- KFR - Framework DSP C++ moderne et rapide : FFT, filtres FIR/IIR, conversion de fréquence d’échantillonnage. [GPL/propriétaire]
- LAME - Encodeur MPEG Audio Layer III (MP3) de haute qualité. [LGPL]
- libsndfile - Bibliothèque C avec wrapper C++ pour lire et écrire des fichiers audio échantillonnés au moyen d’une interface de bibliothèque standard. [LGPL-2.1] site web
- libsoundio - Bibliothèque C multiplateforme d’entrée et de sortie audio en temps réel. [MIT] site web
- Maximilian - Bibliothèque DSP C++ pour l’audio et la musique. [MIT]
- OpenAL - Open Audio Library, API audio multiplateforme. [BSD/LGPL/propriétaire]
- miniaudio - Bibliothèque de lecture et de capture audio en fichier unique. [Unlicense] site web
- ni-media - Bibliothèque C++ pour lire et écrire des fichiers audio. [MIT]
- Opus - Codec audio entièrement ouvert, libre de redevances et très polyvalent. [BSD]
- PortAudio - Bibliothèque libre, multiplateforme et open source d’E/S audio. [MIT]
- rnnoise - Réseau neuronal récurrent pour la réduction du bruit audio. [BSD-3-Clause]
- SELA - Audio sans perte simplifié. [MIT]
- SoLoud - Moteur audio facile à utiliser et portable pour les jeux. [zlib]
- Speex - Codec libre pour la parole. Remplacé par Opus. [BSD]
- Tonic - Synthèse audio facile et efficace en C++. [Unlicense]
- Vorbis - Ogg Vorbis est un format audio compressé polyvalent, entièrement ouvert, non propriétaire, libre de brevets et de redevances. [BSD]
- minimp3 - Décodeur MP3 du domaine public, à en-tête unique et issu d’une implémentation en salle blanche. [CC0]
- Verovio - Bibliothèque rapide et légère de gravure de notation musicale. [LGPL] site web
- Wav2Letter++ - Boîte à outils de traitement de la parole rapide et open source, dans le domaine public, entièrement écrite en C++. Elle utilise les bibliothèques de tenseurs ArrayFire et d’apprentissage automatique flashlight pour une efficacité maximale. [BSD]
- PocketSphinx - Moteur léger de reconnaissance vocale. [BSD-2-Clause] site web
Biologie
Section intitulée « Biologie »Bio-informatique, génomique, biotechnologies
- BioC++ - Bibliothèques de calcul C++ pour la bio-informatique. [BSD]
- Chaste - Bibliothèque C++ open source de simulation informatique de modèles mathématiques en physiologie et en biologie. [BSD]
- libsequence - Bibliothèque C++ pour représenter et analyser des données de génétique des populations. [GPL]
- SeqAn - Algorithmes et structures de données pour l’analyse de séquences, en particulier de données biologiques. [BSD/3-clause]
- Vcflib - Bibliothèque C++ pour analyser et manipuler des fichiers VCF. [MIT]
- Wham - Détection de variants structurels (SV) dans les génomes par application directe de tests d’association aux fichiers BAM. [MIT]
- htslib - Bibliothèque C pour lire et écrire des données de séquençage à haut débit. [MIT/BSD] site web
BitTorrent
Section intitulée « BitTorrent »- jech/dht - Bibliothèque DHT BitTorrent en C. [MIT]
- libtorrent (aussi appelée libtorrent-rasterbar) - Implémentation C++ efficace et complète de BitTorrent. [BSD]
- LibTorrent (aussi appelée libtorrent-rakshasa) - Bibliothèque BitTorrent. [GPL]
- libutp - Bibliothèque du protocole de transport uTorrent. [MIT]
Chimie, chimie quantique, chimie/physique de l’état solide, géochimie, biochimie
- d-SEAMS - Moteur d’analyse de trajectoires de dynamique moléculaire en C++ et Lua avec Nix. Son nom est l’acronyme de « Deferred Structural Elucidation Analysis for Molecular Simulations ». [GPL] site web
- gromacs - Implémentation parallèle de dynamique moléculaire par passage de messages. [GPL] site web
- Reaktoro - Framework de calcul en C++ et Python pour la modélisation de systèmes chimiquement réactifs. [LGPL] site web
- LAMMPS - Code de dynamique moléculaire classique axé sur la modélisation des matériaux. Son nom signifie « Large-scale Atomic/Molecular Massively Parallel Simulator ». [GPL] site web
- MADNESS - Environnement numérique adaptatif multirésolution pour la simulation scientifique. [GPL] site web
- MPQC - MPQC, le programme de chimie quantique massivement parallèle, calcule les propriétés des atomes et des molécules à partir des premiers principes, à l’aide de l’équation de Schrödinger indépendante du temps. [GPL] site web
- Psi - Logiciel de chimie computationnelle ab initio. [GPL] site web
Interface utilisateur de console/terminal, interface en ligne de commande
- Argh! - Gestionnaire d’arguments minimaliste, sans frustration et à en-tête unique. [BSD]
- argparse - Analyseur d’arguments pour le C++ moderne. [MIT]
- args - Bibliothèque simple d’analyse d’arguments C++ à en-tête unique. [MIT]
- Argy - Bibliothèque d’analyse des arguments de ligne de commande pour le C++ moderne : simple, intuitive, à en-tête unique et sans dépendances. [MIT]
- barkeep - Petit en-tête C++ pour afficher des animations asynchrones, des compteurs et des barres de progression. [Apache-2.0] site web
- Boost.Program_options - Bibliothèque permettant d’obtenir les options d’un programme par des méthodes classiques, comme la ligne de commande ou un fichier de configuration. [Boost] site web
- cli - Bibliothèque C++14 multiplateforme à en-tête unique pour les interfaces interactives en ligne de commande (style Cisco). [Boost]
- CLI11 - Bibliothèque C++11 à un ou plusieurs fichiers d’en-tête pour l’analyse CLI simple ou avancée. [BSD]
- clipp - Gestion facile, puissante et expressive des arguments de ligne de commande en C++11/14/17, dans un seul fichier d’en-tête. [MIT]
- cpp-terminal - Petite bibliothèque C++ à en-tête unique pour écrire des applications de terminal multiplateformes. [MIT]
- Crossline - Remplacement multiplateforme de readline et libedit, petit, autonome, sans configuration et sous licence MIT. [MIT]
- Ctrl+C - Bibliothèque C++11 multiplateforme pour gérer l’événement Ctrl+C dans des fonctions personnalisées. [MIT]
- cxxopts - Analyseur léger d’options de ligne de commande C++. [MIT]
- docopt.cpp - Bibliothèque qui génère un analyseur d’options à partir d’une chaîne de documentation. [MIT/Boost]
- FINAL CUT - Bibliothèque de création d’applications de terminal à l’aide de composants textuels. [LGPL]
- FTXUI - Interface fonctionnelle de terminal en C++. [MIT]
- gflags - Module C++ de gestion des options de ligne de commande. [BSD]
- imtui - Interface utilisateur textuelle en mode immédiat. [MIT]
- indicators - Indicateurs d’activité pour le C++ moderne. [MIT]
- linenoise - Petite alternative autonome à readline et libedit. [BSD-2-Clause]
- linenoise-ng - Petit remplacement portable de GNU readline pour Linux, Windows et macOS, capable de gérer les caractères UTF-8. [BSD]
- Lyra - Analyseur de ligne de commande simple à utiliser et composable pour C++11 et versions ultérieures. [Boost]
- Ncurses - Interface utilisateur de terminal. [MIT]
- FINAL CUT - Interface utilisateur de terminal, remplacement moderne de Ncurses. [LGPLv3+]
- oof - Contrôle pratique et performant des couleurs RVB et du positionnement dans la sortie de console. [MIT]
- PDCurses - Bibliothèque curses du domaine public, disponible en code source et en version précompilée. [Domaine public]
- popl - Analyseur de paramètres de ligne de commande et de fichiers INI à modèles, en un seul en-tête, pour C++11 et versions ultérieures. [MIT]
- replxx - Remplacement de readline et libedit prenant en charge UTF-8, la coloration syntaxique et les suggestions, sous Unix et Windows. [BSD]
- tabulate - Générateur de tableaux pour le C++ moderne. [MIT]
- TCLAP - 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 C pour écrire des interfaces utilisateur textuelles. [MIT]
- TermOx - Bibliothèque d’interface utilisateur de terminal (TUI) pour C++17. [MIT]
- tuibox - Bibliothèque TUI de terminal à en-tête unique permettant de créer des applications interactives en ligne de commande pilotées à la souris. [MIT]
- Ginseng - Analyseur d’arguments de ligne de commande en C++. [MIT]
Compression
Section intitulée « Compression »Bibliothèques de compression et d’archivage
- bit7z - Bibliothèque statique C++ offrant une interface simple et claire aux bibliothèques partagées 7-Zip. [MPL2]
- Brotli - Format de compression Brotli, développé par Google. [MIT]
- bzip2 - Compresseur de données de haute qualité, librement disponible et libre de brevets. [BSD]
- bzip3 - Successeur spirituel amélioré et plus puissant de BZip2. [LGPL]
- FastLZ - Compression LZ77 compacte, portable et alignée sur les octets. [MIT]
- FiniteStateEntropy - Codecs entropiques de nouvelle génération : Finite State Entropy et Huff0.
- FSST - Compression de chaînes efficace avec accès aléatoire. [MIT]
- heatshrink - Bibliothèque de compression de données pour systèmes embarqués et temps réel. [ISC]
- Kanzi - Compresseur de données sans perte moderne, modulaire, portable et efficace, implémenté en C++. [Apache-2.0]
- KArchive - Bibliothèque de création, lecture, écriture et manipulation d’archives comme ZIP et TAR. Elle fournit aussi la compression et la décompression transparentes de données, dans des formats comme gzip, au moyen d’une sous-classe de QIODevice. [LGPL]
- libarchive - Bibliothèque d’archivage et de compression multiformat. [New BSD] site web
- LZ4 - Algorithme de compression extrêmement rapide. [BSD] site web
- LZAV - Algorithme rapide de compression de données en mémoire. [MIT]
- LZFSE - Bibliothèque de compression LZFSE et outil en ligne de commande, développés par Apple.
- LZHAM - Bibliothèque de compression sans perte offrant un taux similaire à LZMA, mais une décompression bien plus rapide. [BSD]
- LZMA :zap: - Méthode de compression générale et par défaut du format 7z. [Domaine public] site web
- LZMAT - Bibliothèque extrêmement rapide de compression de données sans perte en temps réel. [GPL]
- miniz - Bibliothèque Deflate/Inflate en un seul fichier source C, avec API compatible zlib, lecture/écriture d’archives ZIP et écriture PNG. [MIT]
- Minizip - Zlib avec les dernières corrections de bogues, prenant en charge le fractionnement de disque PKWARE, le chiffrement AES et la mise en mémoire tampon des E/S. [zlib]
- minizip-ng - Fork de la célèbre bibliothèque de manipulation ZIP incluse dans la distribution zlib. [zlib]
- misa77 - Décompression incroyablement rapide avec de bons taux de compression. [MIT]
- OpenZL - Framework novateur de compression de données. [BSD] site web
- PhysicsFS - Bibliothèque offrant un accès abstrait à différentes archives. Conçue pour les jeux vidéo, elle s’inspire en partie 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 chaînes courtes. [BSD]
- Snappy - Compresseur/décompresseur rapide. [BSD]
- ZLib - Bibliothèque de compression très compacte pour les flux de données. [zlib]
- zlib-ng - zlib pour les systèmes de « nouvelle génération », remplacement direct doté d’optimisations importantes. [zlib]
- zstd - Zstandard, algorithme de compression rapide en temps réel développé par Facebook. [BSD]
- ZXC - Compression sans perte asymétrique à hautes performances. [BSD-3-Clause]
- ZZIPlib - Fournit un accès en lecture aux archives ZIP. [MPL/LGPL]
- cmix - Programme de compression sans perte visant les taux les plus élevés, au prix de la vitesse. [GPL-3.0]
- LZSSE-SIMDe - Implémentation SIMD portable de la compression LZSSE. [BSD-2-Clause]
- Zopfli - Bibliothèque de compression offrant une très bonne compression deflate/zlib, mais lente. [Apache-2.0]
Concurrence
Section intitulée « Concurrence »Concurrence et multithreading
- alpaka - Bibliothèque d’abstraction pour l’accélération parallèle de noyaux. [LGPLv3+]
- ArrayFire - Bibliothèque GPU à usage général. [BSD]
- Async++ - Framework de concurrence léger pour C++11, inspiré de la bibliothèque PPL de Microsoft et de la proposition de norme C++ N3428. [MIT]
- atomic_queue - Files C++14 sans verrou, à producteurs et consommateurs multiples, fondées sur des tampons circulaires et std::atomic. [MIT]
- Boost.Compute - Bibliothèque C++ de calcul GPU pour OpenCL. [Boost] site web
- Bolt - Bibliothèque de modèles C++ optimisée pour les GPU. [Apache2]
- BS::thread_pool - Bibliothèque de pools de threads C++17 rapide, légère et facile à utiliser. [MIT]
- Channel - Conteneur sécurisé pour les threads, destiné au partage de données entre threads. [MIT]
- ck - Primitives de concurrence, mécanismes sûrs de récupération de mémoire et structures de données non bloquantes. [BSD]
- concurrentqueue - File concurrente C++11 rapide, sans verrou, à producteurs et consommateurs multiples. [BSD,Boost]
- Coros - Bibliothèque rapide et simple d’utilisation pour le parallélisme basé sur les tâches, exploitant les coroutines. [BSL-1.0]
- CUB - CUB fournit des composants logiciels réutilisables de pointe pour chaque couche du modèle de programmation CUDA. [New BSD]
- cuda-api-wrappers - Wrappers légers en C++ moderne pour l’API d’exécution de programmation GPU CUDA. [BSD]
- cupla - API C++ permettant d’exécuter CUDA/C++ sur OpenMP, Threads, TBB, etc., via Alpaka. [LGPLv3+]
- C++React - Bibliothèque de programmation réactive pour C++11. [Boost]
- dispenso - Bibliothèque C++ hautes performances de programmation parallèle avec pools de threads, boucles parallèles, futures, graphes de tâches et conteneurs concurrents. [MIT]
- FiberTaskingLib - Bibliothèque de multithreading par tâches prenant en charge les graphes de tâches à dépendances arbitraires. [Apache]
- HPX - Système d’exécution C++ polyvalent pour les applications parallèles et distribuées, quelle que soit leur échelle. [Boost]
- Intel Games Task Scheduler - Framework de planification des tâches conçu pour les besoins des développeurs de jeux. [MIT]
- Intel Parallel STL - Implémentation Intel® de la STL C++17 pour C++11 et versions ultérieures. [Apache2]
- Intel TBB - Intel® Threading Building Blocks. [Apache2]
- junction - Bibliothèque C++ de structures de données concurrentes. [BSD]
- Kokkos - Modèle de programmation portable en matière de performances pour l’exécution parallèle et l’abstraction mémoire. [BSD]
- libcds - Bibliothèque C++ de structures de données concurrentes. [BSD]
- Libclsph - Bibliothèque de simulation de fluides SPH accélérée par GPU et fondé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 des tâches fondée sur le modèle des pools de threads. libdispatch implémente les services GCD. [Apache-2.0] site web
- libfork - Bibliothèque de tâches de pointe, sans verrou ni attente, avec vol de continuations, fondée sur les coroutines C++20. [MPL-2.0] site web
- libmill - Introduit en C une concurrence de style Go. [MIT]
- marl - Planificateur de tâches hybride threads/fibres écrit en C++11. [Apache-2.0]
- moderngpu - Bibliothèque améliorant la productivité du calcul généraliste sur GPU. Cette bibliothèque C++ à en-tête unique pour CUDA se distingue par ses primitives accélérées de résolution des problèmes à parallélisme irrégulier. [FreeBSD et droit 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 - Norme ouverte de programmation parallèle des systèmes hétérogènes.
- OpenMP - API OpenMP.
- rotor - Microframework d’acteurs C++ adapté aux boucles d’événements. [MIT]
- SObjectizer - Implémentation des modèles acteur, publication-abonnement et CSP dans un framework C++ assez compact. [BSD-3-Clause]
- Quantum - Framework puissant de distribution de coroutines C++, construit sur Boost.Coroutine2.
- RaftLib - Bibliothèque C++ pour la concurrence en flux et en flux de données, via des opérateurs de style iostream. [Apache2]
- readerwriterqueue - File C++ rapide, sans verrou, à un producteur et un consommateur. [BSD]
- stdgpu - Structures de données efficaces de style STL sur GPU. [Apache2]
- Taskflow - Système généraliste de programmation parallèle et hétérogène par tâches (anciennement Cpp-Taskflow). [MIT]
- ThreadPool - Implémentation simple d’un pool de threads C++11. [zlib]
- Thrust - Bibliothèque d’algorithmes parallèles semblable à la bibliothèque standard de modèles C++ (STL). [Apache2]
- TooManyCooks - Framework de coroutines C++20 hautes performances avec détection avancée du matériel. [BSL-1.0]
- transwarp - Bibliothèque C++ à en-tête unique pour la concurrence des tâches. [MIT]
- VexCL - Bibliothèque C++ d’expressions vectorielles à modèles pour OpenCL/CUDA. [MIT]
- STAPL - Framework C++ de programmation parallèle pour les ordinateurs à mémoire partagée ou distribuée. [BSD]
- concurrencpp - Bibliothèque générale de concurrence comprenant tâches, exécuteurs, minuteries et coroutines C++20.
- libcu++ - Bibliothèque standard C++ de NVIDIA, fournissant une implémentation hétérogène des fonctionnalités de la bibliothèque standard C++. [Apache-2.0]
- nvthreads - Bibliothèque permettant un multithreading efficace et persistant en C/C++. [LGPL-2.1]
Configuration
Section intitulée « Configuration »Fichiers de configuration, fichiers INI
- inifile-cpp - Analyseur de fichiers INI C++ à en-tête unique et facile à utiliser. [MIT]
- inih - Analyseur simple de fichiers .INI en C, adapté aux systèmes embarqués. [BSD-3-Clause]
- inih - Version C++ de inih, dans un seul fichier d’en-tête. [BSD-3-Clause]
- ini-cpp - Version C++ d’inih dans un seul fichier d’en-tête, avec une interface pratique de lecture/écriture, étendue à partir de inih. [BSD-3-Clause] site web
- iniparser - Analyseur de fichiers INI. [MIT]
- inipp - Analyseur et générateur INI C++ simple, à en-tête unique. [MIT]
- libconfig - Bibliothèque C et C++ de traitement des fichiers de configuration structurés. [LGPL-2.1] site web
- libconfuse - Petite bibliothèque C d’analyse de fichiers de configuration. [ISC]
- mINI - Lecteur et rédacteur de fichiers INI. [MIT]
- simpleini - Bibliothèque C++ multiplateforme offrant une API simple pour lire et écrire des fichiers de configuration de type INI. [MIT]
- toml++ - Analyseur et sérialiseur TOML à en-tête unique pour C++17 et versions ultérieures. [MIT] site web
- toml11 - Analyseur/encodeur TOML à en-tête unique pour C++11 et versions ultérieures, ne dépendant que de la bibliothèque standard C++. [MIT]
Conteneurs
Section intitulée « Conteneurs »- CRoaring - Bitmaps Roaring en C (et C++), avec optimisations SIMD. [Apache-2.0]
- dynamic_bitset - Simple Useful Libraries : bitset dynamique C++17/20 à en-tête unique. [MIT] site web
- fixed-containers - Bibliothèque C++20 à en-tête unique fournissant des conteneurs constexpr de capacité fixe. [MIT]
- flat_hash_map - Table de hachage plate très rapide, utilisant le hachage de Fibonacci.
- frozen - Alternative constexpr à gperf, à en-tête unique, pour les utilisateurs de C++14. [Apache-2.0]
- Hashmaps - Implémentation en C++ d’algorithmes de tables de hachage à adressage ouvert. [MIT]
- hat-trie - Implémentation C++ d’un HAT-trie rapide et économe en mémoire. [MIT]
- Hopscotch map - Table de hachage rapide à en-tête unique qui résout les collisions par hachage hopscotch. [MIT]
- librb - Implémentation C d’un tampon circulaire, entièrement consciente des threads, permettant les lectures/écritures concurrentes et un agrandissement automatique si nécessaire. [BSD] site web
- LSHBOX - Boîte à outils C++ de hachage sensible à la localité (LSH), fournissant plusieurs algorithmes LSH courants et prenant aussi en charge Python et MATLAB. [GPL]
- marisa-trie - Algorithme de correspondance avec stockage implémenté récursivement. [BSD-2-Clause/LGPL-2.1]
- parallel-hashmap - Famille de conteneurs hashmap et B-tree à en-tête unique, très rapides et économes en mémoire. [Apache2] site web
- PGM-index - Structure de données permettant des recherches rapides, recherches de prédécesseurs et de plages, ainsi que des mises à jour dans des tableaux de milliards d’éléments, avec beaucoup moins d’espace que les index classiques. [Apache2] site web
- plf::colony - Conteneur non ordonné de type « sac », plus performant que les conteneurs std lorsque les modifications sont fréquentes, tout en conservant les pointeurs vers les éléments non effacés quelles que soient les insertions ou suppressions. [zLib] site web
- plf::list - Implémentation de std::list supprimant le splice de plages pour obtenir une structure plus adaptée au cache et de meilleures performances. [zLib] site web
- plf::stack - Conteneur remplaçant l’adaptateur std::stack, plus performant que tout conteneur std dans un contexte de pile. [zLib] site web
- ring_span lite - Implémentation simplifiée de ring_span par Arthur O’Dwyer, c’est-à-dire une vue sur un tampon circulaire. [MIT]
- robin-hood-hashing - Table de hachage rapide et économe en mémoire, fondée sur le hachage robin hood pour C++14. [MIT]
- robin-map - Table de hachage et ensemble rapides utilisant le hachage robin hood. [MIT]
- sparsepp - Table de hachage C++ rapide et économe en mémoire. [BSD 3-clause]
- sqlitemap - Map persistante reposant sur SQLite. [MIT]
- st_tree - Classe modèle C++ rapide et flexible pour les structures de données arborescentes. [Apache-2.0]
- svector - Vecteur compact optimisé pour SVO en C++17 et versions ultérieures. [MIT]
- tree.hh - Bibliothèque d’arbres C++ à en-tête unique, de style STL. [GPL2+]
- unordered_dense - Hashmap et hashset rapides et stockés de manière dense, avec suppression par décalage arrière robin hood. [MIT]
- fifo_map - Conteneur associatif C++ ordonné selon le principe FIFO. [MIT]
- ordered-map - Map et ensemble de hachage C++ qui préservent l’ordre d’insertion. [MIT]
Cryptographie
Section intitulée « Cryptographie »Bibliothèques de cryptographie et de chiffrement
- Bcrypt - Utilitaire multiplateforme de chiffrement de fichiers. Les fichiers chiffrés sont portables sur tous les systèmes d’exploitation et processeurs pris en charge. [BSD]
- BeeCrypt - Bibliothèque de cryptographie portable et rapide. [LGPLv2.1+]
- BoringSSL - Fork d’OpenSSL conçu pour répondre aux besoins de Google. [Apache2]
- Botan - Bibliothèque cryptographique pour C++. [BSD-2]
- Crypto++ - Bibliothèque gratuite de classes C++ dédiées aux schémas cryptographiques. [Boost] site web
- digestpp - Bibliothèque C++11 à en-tête unique de condensés de message (hachages). [Domaine public]
- GnuPG - Implémentation complète et libre de la norme OpenPGP. [GPL]
- GnuTLS - Bibliothèque de communications sécurisées implémentant les protocoles SSL, TLS et DTLS. [LGPL2.1]
- Libgcrypt - Bibliothèque cryptographique généraliste, initialement fondée sur du code de GnuPG. [LGPLv2.1+]
- LibreSSL - Version libre du protocole SSL/TLS, dérivée d’OpenSSL en 2014. [?]
- libsodium - Bibliothèque cryptographique portable/packagée basée sur NaCl, avec des choix affirmés et facile à utiliser. [ISC]
- libhydrogen - Bibliothèque cryptographique légère, sécurisée et facile à utiliser, adaptée aux environnements contraints. [ISC]
- LibTomCrypt - Boîte à outils cryptographiques modulaire, portable et assez complète. [WTFPL]
- mbedTLS - Bibliothèque SSL open source, portable, flexible, lisible et facile à utiliser, anciennement connue sous le nom de PolarSSL. [Apache2] site web
- Nettle - Bibliothèque cryptographique de bas niveau. [LGPL]
- OpenSSL - Bibliothèque cryptographique open source robuste, de qualité commerciale et complète. [Apache] site web
- retter - Collection de fonctions de hachage, chiffrements, outils, bibliothèques et ressources liés à la cryptographie.
- s2n - Implémentation des protocoles TLS/SSL. [Apache]
- sha1collisiondetection - Bibliothèque et outil en ligne de commande détectant les collisions SHA-1 dans un fichier. [MIT]
- stduuid - Implémentation multiplateforme des UUID en C++17. [MIT]
- Tink - Bibliothèque multilingue et multiplateforme proposant des API cryptographiques sécurisées, faciles à utiliser correctement et difficiles à détourner. [Apache-2.0]
- Tiny AES in C - Implémentation AES128/192/256 compacte et portable en C. [Domaine public]
- tiny-ECDH-c - Implémentation compacte et portable du protocole d’accord de clés ECDH en C. [Domaine public]
- Themis - Bibliothèque cryptographique simplifiant la sécurisation des données : chiffrement symétrique et asymétrique, sockets sécurisées avec confidentialité persistante, pour plateformes mobiles et serveurs. [Apache2]
- HEhub - Bibliothèque de chiffrement homomorphe et de ses applications. [Apache2]
- Qt-Secret - Bibliothèque simple de chiffrement fondée sur Qt pour les projets C++. [LGPL]
- micro-ecc - Implémentation ECDH et ECDSA compacte et rapide pour processeurs 8, 32 et 64 bits. [BSD-2-Clause]
- crypto-algorithms - Implémentations de base d’algorithmes cryptographiques standard (AES, SHA, etc.) en C. [Domaine public]
- aes-stream - Chiffrement de flux rapide fondé sur AES pour C. [ISC]
Bibliothèques d’analyse de fichiers CSV (valeurs séparées par des virgules)
- commata - Un autre analyseur CSV C++17 à en-tête unique. [Unlicense]
- csv2 - Analyseur CSV rapide pour le C++ moderne. [MIT]
- Csv::Parser - Analyseur CSV C++17 à la compilation et à l’exécution. [Zlib]
- Fast C++ CSV Parser - Bibliothèque rapide, compacte, facile à utiliser et à en-tête unique pour lire des fichiers CSV. [BSD-3-Clause]
- Glaze - Bibliothèque CSV performante, à en-tête unique et prenant en charge la réflexion. [MIT]
- lazycsv - Analyseur CSV rapide et léger, en un seul en-tête, pour le C++ moderne. [MIT]
- rapidcsv - Bibliothèque C++ d’analyse CSV à en-tête unique et facile à utiliser. [BSD-3-Clause]
- ssp - Analyseur « CSV » rapide et polyvalent, à en-tête unique, avec une API C++ moderne. [MIT]
- Vince’s CSV Parser - Analyseur CSV C++17 rapide, autonome et en flux, avec conversion de types et statistiques facultatives. [MIT]
- zsv - Analyseur CSV SIMD le plus rapide au monde, avec une CLI extensible. [MIT]
Bases de données
Section intitulée « Bases 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 embarqué et serveur, léger et extrêmement performant. [MPL-2.0] site web
- Doltlite - SQLite avec contrôle de version. [Domaine public/Apache2]
- DuckDB - Système de gestion de base de données SQL OLAP en processus. [MIT] site web
- hiberlite - Mapping objet-relationnel C++ pour sqlite3. [BSD]
- Hiredis - Bibliothèque cliente C minimaliste pour la base de données Redis. [BSD]
- Infinity - Base de données native pour l’IA, conçue pour les applications LLM et offrant une recherche vectorielle et plein texte extrêmement rapide. [Apache2]
- Kuzu - Système de gestion de bases de données de graphes de propriétés intégrable, conçu pour la vitesse des requêtes et l’évolutivité. Implémente Cypher. [MIT]
- Kvrocks - Base de données NoSQL distribuée clé-valeur utilisant RocksDB comme moteur de stockage et compatible avec le protocole Redis. [Apache2]
- Ladybug - Base de données de graphes intégrable, conçue pour la vitesse des requêtes et l’évolutivité. [MIT] site web
- LevelDB - Bibliothèque de stockage clé-valeur rapide écrite chez Google, fournissant une correspondance ordonnée entre clés et valeurs de type chaîne. [BSD]
- libpg_query - Bibliothèque C permettant d’accéder à l’analyseur PostgreSQL en dehors du serveur. [BSD-3-Clause]
- libpqxx - API cliente C++ officielle pour PostgreSQL. [BSD-3-Clause]
- LMDB - Base de données clé-valeur embarquée très rapide, avec sémantique ACID complète. [OpenLDAP]
- LMDB++ - Wrapper C++11 de la bibliothèque de base de données embarquée LMDB. [Domaine public]
- mgclient - Client Memgraph en C/C++. [Apache2]
- MongoDB C Driver - Bibliothèque cliente C pour MongoDB. [Apache2]
- MongoDB C++ Driver - Pilote C++ pour MongoDB. [Apache2]
- MongoDB Libbson - Bibliothèque utilitaire BSON. [Apache2]
- MySQL++ - Wrapper C++ de l’API C de MySQL. [LGPL]
- nanodbc - Petit wrapper C++ de l’API ODBC native en C. [MIT]
- ODB - Système ORM C++ open source, multiplateforme et indépendant de la base de données. [GPLv2]
- redis3m - Wrapper de hiredis avec une interface C++ claire, prenant en charge Sentinel et des modèles prêts à l’emploi. [Apache2]
- Reindexer - Base de données documentaire intégrable en mémoire, dotée d’une interface de construction de requêtes de haut niveau. [Apache2] site web
- RocksDB - Base de données clé-valeur embarquée pour le stockage rapide, développée par Facebook. [BSD]
- SimDB - Base clé-valeur C++11 hautes performances, à mémoire partagée, sans verrou et multiplateforme, dans un seul fichier et avec peu de dépendances. [Apache2]
- SlothDB - Base de données SQL embarquée qui fonctionne partout : sur votre ordinateur portable, sur un serveur et dans le navigateur. [MIT] site web
- SOCI - Couche d’abstraction de base de données pour C++. [Boost]
- Speedb - Projet communautaire : base clé-valeur embarquée évolutive et performante, compatible RocksDB. [Apache2]
- sqlgen - ORM et générateur de requêtes SQL fondés sur la réflexion pour C++20, semblables à SQLAlchemy/SQLModel en Python ou Diesel en Rust. [MIT]
- SQLite - Base relationnelle entièrement embarquée et complète, de quelques centaines de kilo-octets, intégrable directement à un projet. [Domaine public]
- SQLiteC++ - Wrapper C++ SQLite3 pratique et facile à utiliser. [MIT]
- sqlite_modern_cpp - Wrapper de la bibliothèque SQLite en C++14, à en-tête unique. [MIT]
- sqlite_orm - Bibliothèque ORM SQLite légère, à en-tête unique, pour le C++ moderne. [AGPL + MIT payante]
- sqlpp11 - Langage spécifique au domaine embarqué, à typage sûr, pour les requêtes et résultats SQL en C++. [BSD-2-Clause]
- sqlpp23 - Bibliothèque SQL à typage sûr pour C++. [BSD-2-Clause]
- TidesDB - Moteur de stockage embarqué transactionnel, durable et hautes performances, conçu pour optimiser la mémoire flash et la RAM. [MPL-2.0] site web
- TileDB - SGBD rapide de tableaux multidimensionnels denses et creux. [MIT] site web
- TinyORM - Bibliothèque ORM moderne pour C++. [MIT] site web
- UnQLite - Moteur NoSQL transactionnel autonome, sans serveur et sans configuration. [BSD-2-Clause] site web
- upscaledb - Stockage clé-valeur « typé » embarqué avec interface de requête intégrée. [GPLv3]
- TigerBeetleDB C++ client (Community) - TigerBeetle est une base de données comptable financière conçue pour garantir sécurité et performances critiques et soutenir l’avenir des services financiers. [BSL-1.0]
- Trilogy - Bibliothèque cliente pour les serveurs de base 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 graphes. [Apache2]
- Velox - Bibliothèque C++ vectorisée d’accélération des bases de données, visant à optimiser les moteurs de requête et les systèmes de traitement des données. [Apache-2.0] site web
- Zvec - Base de données vectorielle légère, extrêmement rapide et exécutée en processus. [Apache2] site web
- constexpr-sql - Analyseur et exécuteur de requêtes SQL à la compilation en C++17. [MIT]
- NuDB - Stockage clé-valeur rapide, en ajout seul, pour disques SSD. [Boost]
Visualisation des données
Section intitulée « Visualisation des données »Bibliothèques de visualisation des données
- gplot++ - Bibliothèque C++ de tracé multiplateforme à en-tête unique, interfacée avec Gnuplot. [MIT]
- matplotplusplus - Bibliothèque graphique C++ de visualisation des données. [MIT] site web
- mathplot - Graphiques et visualisation de données en C++, à en-tête unique, avec OpenGL moderne. [Apache-2.0] site web
- Plotly++ - Interface C++ vers la spécification des figures Plotly.js pour créer des visualisations de données interactives. [MIT]
- matplotlib-cpp - Wrapper C++ de la bibliothèque de tracé Python matplotlib. [MIT]
Débogage
Section intitulée « Débogage »Bibliothèques de débogage, détection des fuites mémoire et de ressources, tests unitaires
- Attest - Framework de test C multiplateforme sans allocation sur le tas, avec tests paramétrés tenant compte du cycle de vie et assertions accompagnées de messages formatés à la demande. [MIT]
- backward-cpp - Outil élégant de mise en forme des traces de pile en C++. [MIT]
- Bencher - Suite d’outils d’étalonnage continu conçue pour repérer les régressions de performances dans l’intégration continue. [MIT]/[Apache2]
- benchmark - Petite bibliothèque de prise en charge des microbenchmarks fournie par Google. [Apache2]
- Boost.Test - Bibliothèque de tests Boost. [Boost] site web
- check - Check est un framework de tests unitaires pour C. [LGPL-2.1] site web
- doctest - Framework de test C++ à en-tête unique, le plus léger parmi ceux riches en fonctionnalités. [MIT]
- Catch2 - Framework de test moderne, natif C++, pour les tests unitaires, le TDD et le BDD. [Boost]
- Celero - Framework d’étalonnage des performances en C++. [Apache2]
- cpp-dump - Bibliothèque C++ de débogage pouvant afficher n’importe quelle variable, y compris les types définis par l’utilisateur. [MIT]
- CppUTest - Framework de tests unitaires et de simulation d’objets pour C/C++. [BSD-3-clause]
- CUTE - Simplifier les tests unitaires en C++. [LGPL3]
- CMocka - Framework de tests unitaires en C prenant en charge les objets simulés. [Apache2]
- CppBenchmark - Framework d’étalonnage des performances C++ avec une précision de mesure à la nanoseconde. [MIT]
- Cpptrace - Bibliothèque de traces de pile C++ simple, portable et autonome, compatible avec C++11 et versions ultérieures. [MIT]
- CppUnit - Portage de JUnit en C++. [LGPL2]
- CrashCatch - Rapport de plantage C++ dans un seul en-tête, enregistrant les traces de pile et créant des vidages
.dmpet.txt. [MIT] site web - CTest - Programme pilote de tests de CMake. [BSD]
- dbg-macro - Macro dbg(…) pour C++. [MIT]
- DebugViewPP - Visionneuse de journaux de débogage. [Boost]
- Deleaker - Outil de détection des fuites de ressources, notamment de mémoire, GDI et handles.
- FakeIt - Framework simple de simulation d’objets pour C++. [MIT]
- fff - Microframework de création de fonctions C factices. [MIT]
- Google Mock - Bibliothèque d’écriture et d’utilisation de classes simulées en C++. [BSD]
- Google Test - Framework de tests C++ de Google. [BSD]
- Hippomocks - Framework de simulation d’objets à en-tête unique. [LGPL-2.1]
- IceCream-Cpp - Plus besoin d’utiliser cout/printf pour déboguer. [MIT]
- ig-debugheap - Tas de débogage multiplateforme utile pour localiser les erreurs mémoire. [BSD]
- libassert - Bibliothèque d’assertions C++ la plus surconçue. [MIT]
- libtap - Écrire des tests en C. [GPL2]
- microprofile - Profileur doté d’une interface web pour plusieurs plateformes. [Unlicense]
- MinUnit - Framework minimal de tests unitaires C, autonome dans un seul fichier d’en-tête. [MIT]
- nanobench - Fonctionnalité simple, rapide et précise de microbenchmark dans un seul en-tête pour C++11/14/17/20. [MIT] site web
- Nanotimer - Classe de minuterie multiplateforme simple et peu coûteuse pour l’étalonnage. [zLib] site web
- Nonius - Framework de microbenchmark C++. [CC]
- Remotery - Profileur dans un seul fichier C, avec visualiseur web. [Apache2]
- snitch - Framework de test C++20 léger. [Boost]
- Touca - Système open source de tests de régression hébergeable soi-même. [Apache2] site web
- UnitTest++ - Framework léger de tests unitaires pour C++. [Licence MIT/X Consortium]
- Unity - Tests unitaires simples pour C. [MIT]
- utest.h - Framework de tests unitaires C et C++ dans un seul en-tête. [Unlicense]
- utl::profiler - Profileur C++17 à en-tête unique. [MIT]
- μt - Framework de tests unitaires μ(micro) sans macro, dans un seul en-tête/module C++20. [Boost]
- VLD - Visual Leak Detector, système libre, robuste et open source de détection des fuites mémoire pour Visual C++.
- heaptrack - Profileur de tas mémoire pour Linux. [LGPL-2.1]
Documentation
Section intitulée « Documentation »- Doxide - Documentation moderne pour le C++ moderne, configurée en YAML et produisant du Markdown. [Apache 2.0] site web
- doxygen :zap: - Outil de référence de facto pour générer de la documentation à partir de sources C++ annotées. [GPL2] site web
- doxyrest - Compilateur de XML Doxygen en reStructuredText pour Sphinx. [MIT]
- hdoc - Outil moderne de documentation pour C++. [AGPL/propriétaire] site web
- Natural Docs - Générateur de documentation open source pour plusieurs langages de programmation. [AGPL/propriétaire] site web
- Sourcey - Générateur de documentation statique exploitant XML Doxygen, OpenAPI, godoc, MCP et Markdown. [AGPL-3.0] site web
- Sphinx - Sphinx facilite la création d’une documentation intelligente et élégante. [BSD-2-Clause] site web
Traitement numérique du signal.
- DSPFilters - Collection de classes C++ utiles pour le traitement numérique du signal. [MIT]
- fCWT - La transformée en ondelettes continue rapide (fCWT) est une bibliothèque de calcul rapide de la CWT. [Apache-2.0]
- FFTW - Bibliothèque C de calcul de la transformée de Fourier discrète en une ou plusieurs dimensions. [GPL]
- iir1 - Bibliothèque C++ de filtres RII en temps réel. [MIT]
- kissfft - Bibliothèque de transformée de Fourier rapide (FFT) qui s’efforce de rester simple. [BSD-3-Clause]
- pocketfft - Implémentation FFT fondée sur FFTPack, avec plusieurs améliorations. [BSD-3-Clause]
- wavelib - Implémentation C des transformées en ondelettes 1D et 2D. [BSD-3-Clause]
Bibliothèques d’analyse et de manipulation de fichiers de polices.
- Fontconfig - Bibliothèque de configuration et de personnalisation des polices. [MIT] site web
- FreeType - Bibliothèque logicielle librement disponible pour le rendu des polices. [FTL et GPLv2]
- otfcc - Bibliothèque C et utilitaire d’analyse et d’écriture de fichiers de polices OpenType. [Apache-2.0]
- harfbuzz - Moteur de façonnage du texte. [Ancienne MIT]
- libschrift - Bibliothèque légère de rendu des polices TrueType. [ISC]
- SheenBidi - Implémentation sophistiquée de l’algorithme bidirectionnel Unicode. [Apache-2.0]
Moteurs de jeu
Section intitulée « Moteurs de jeu »- Acid - Moteur de jeu Vulkan C++17 à haute vitesse. [MIT]
- Allegro - Bibliothèque multiplateforme principalement destinée aux jeux vidéo et à la programmation multimédia. [zlib]
- Axmol Engine - Moteur de jeu multiplateforme pour ordinateur, mobile et XBOX (UWP), dérivé de Cocos2d-x-4.0. [MIT] site web
- Cocos2d-x - Framework multiplateforme pour créer des jeux 2D, livres interactifs, démonstrations et autres applications graphiques. [MIT]
- Corange - Moteur de jeu écrit en C pur, SDL et OpenGL. [BSD]
- crown - Moteur de jeu généraliste piloté par les données, écrit de zéro en C++ orthodoxe selon une philosophie minimaliste et axée sur les données. [MIT]
- delta3d - Plateforme de simulation robuste. [LGPL2]
- EnTT - Le jeu vidéo rencontre le C++ moderne. [MIT]
- GamePlay - Framework de jeu natif C++ multiplateforme pour créer des jeux mobiles et de bureau 2D/3D. [Apache2]
- Godot - Moteur de jeu complet, open source et sous licence MIT. [MIT]
- Grit - Projet communautaire visant à créer un moteur de jeu libre pour réaliser des jeux 3D en monde ouvert. [MIT]
- Halley - Moteur de jeu léger écrit en C++14, doté d’un véritable système entité-composant. [Apache 2.0]
- Hazel Game Engine - Hazel est principalement un moteur d’applications interactives et de rendu pour Windows, encore à ses débuts. [Licence Apache-2.0]
- IX-Ray Platform - Fork du moteur X-Ray 1.6 visant à améliorer l’expérience de jeu et à simplifier le développement de modifications. [MIT modifiée/usage non commercial uniquement]
- JNGL - Bibliothèque 2D pour Linux, Windows, macOS, Android, iOS, Xbox, Nintendo Switch et le Web. [zlib] site web
- KlayGE - Moteur de jeu open source multiplateforme doté d’une architecture à plugins. [GPLv2] site web
- nCine - Moteur de jeu 2D multiplateforme axé sur les performances, écrit en C++11 et éventuellement scriptable en Lua. [MIT] site web
- o3de - Moteur 3D open source, temps réel et multiplateforme, fondé sur Amazon Lumberyard. [Apache2] site web
- OpenXRay - Moteur X-Ray modifié par la communauté et utilisé dans la série de jeux S.T.A.L.K.E.R. [BSD modifiée/usage non commercial uniquement]
- Oxygine - Moteur de jeu C++ 2D multiplateforme. [MIT]
- Panda3D - Moteur de jeu et framework de rendu 3D et de développement de jeux pour les programmes Python et C++. [BSD modifiée] site web
- PixelGameEngine - Distribution officielle de olcPixelGameEngine, outil utilisé dans les vidéos YouTube et projets de javidx9. [OLC3]
- Polycode - Framework multiplateforme de programmation créative en C++ (avec liaisons Lua). [MIT]
- quakeforge - Branche maintenue activement du code du moteur Quake original, développé depuis plus de 20 ans. [GPL-2.0]
- raylib - Bibliothèque simple et facile à utiliser pour découvrir la programmation de jeux vidéo. [zlib/libpng] site web
- Spring - Moteur de jeu de stratégie en temps réel (RTS) puissant, libre et multiplateforme. [GPLv2/GPLv3] site web
- Torque2D - Moteur C++ open source et multiplateforme conçu pour le développement de jeux 2D. [MIT] site web
- Torque3D - Moteur C++ open source conçu pour le développement de jeux 3D. [MIT] site web
- toy engine - toy est un moteur de jeu C++ léger et modulaire, proposant des idiomes C++ simples et expressifs pour concevoir rapidement des jeux 2D ou 3D complets.
- Urho3D - Moteur de jeu 2D et 3D libre, léger et multiplateforme, implémenté en C++. Fortement inspiré d’OGRE et de Horde3D. [MIT]
- Zodiac Engine - Moteur de rendu 3D et éditeur open source multiplateformes, écrits en C++20 avec Vulkan (ZEngine). [MIT]
- ezEngine - Moteur de jeu libre et open source écrit en C++, conçu selon une philosophie modulaire et flexible pour s’adapter à de nombreux cas d’usage. [MIT] site web
- CXXGraph - Bibliothèque libre de graphes C++17 à en-tête unique, pour la représentation et l’exécution d’algorithmes. [AGPL-3.0]
- Graaf - Bibliothèque de graphes C++20 légère et généraliste. [MIT] site web
Interface utilisateur graphique
- Boden - Framework d’interface graphique natif, mobile et multiplateforme. [GPL/LGPL/propriétaire] site web
- Brisk - Framework d’interface graphique C++20 multiplateforme, avec MVVM et capacités réactives. Rendu GPU évolutif et accéléré. [GPL/propriétaire] site web
- CEGUI - Bibliothèque d’interface graphique flexible et multiplateforme.
- Elements - Bibliothèque d’interface graphique légère, modulaire, à granularité fine et indépendante de la résolution. [MIT]
- FLTK - Boîte à outils d’interface graphique C++ rapide, légère et multiplateforme. [LGPL2]
- FOX Toolkit - Boîte à outils de widgets open source et multiplateforme. [LGPL]
- GacUI - Interface utilisateur C++ accélérée par GPU, avec outils de développement WYSIWYG, prise en charge XML, liaison de données intégrée et fonctionnalités MVVM. [Ms-PL]
- GTK+ - Boîte à outils multiplateforme pour créer des interfaces graphiques. [LGPL]
- gtkmm - Interface C++ officielle de la célèbre bibliothèque d’interface graphique GTK+. [LGPL]
- imgui - Interface graphique en mode immédiat avec peu de dépendances. [MIT]
- implot - Widgets de tracé en mode immédiat pour imgui. [MIT]
- iup - Boîte à outils multiplateforme pour créer des interfaces graphiques. [MIT]
- libui - Bibliothèque C d’interface graphique simple et portable (mais flexible), utilisant les technologies natives de chaque plateforme prise en charge. [MIT]
- MyGUI - Interface graphique rapide, flexible et simple. [MIT]
- nana - Bibliothèque multiplateforme de programmation d’interfaces graphiques dans le style du C++ moderne. [Boost]
- NanoGui - Bibliothèque de widgets minimaliste et multiplateforme pour OpenGL 3.x et versions ultérieures. [BSD]
- NAppGUI - SDK de création d’applications de bureau multiplateformes en ANSI-C. [MIT] site web
- nuklear - Bibliothèque d’interface graphique ANSI C dans un seul en-tête. [Domaine public]
- QCustomPlot - Widget de tracé Qt sans dépendances supplémentaires. [GPLv3]
- Qwt - Widgets Qt pour applications techniques. [Licence propre fondée sur LGPL]
- QwtPlot3D - Bibliothèque de programmation C++ riche en fonctionnalités, fondée sur Qt/OpenGL, fournissant essentiellement des widgets 3D. [zlib]
- RmlUi - Évolution de la bibliothèque d’interface utilisateur HTML/CSS, fork de libRocket. [MIT]
- Saucer - Bibliothèque C++ moderne et multiplateforme de vues web. [MIT]
- Sciter - Moteur intégrable HTML/CSS/script, destiné à servir de couche d’interface utilisateur aux applications de bureau modernes. [Gratuit/commercial]
- Slint - Boîte à outils d’interface graphique légère pour ordinateur et systèmes embarqués. [GPL/gratuite/propriétaire] site web
- TGUI - Interface graphique C++ moderne et multiplateforme. [Zlib] site web
- WebUI - Utilisez n’importe quel navigateur web comme interface graphique, avec le langage de votre choix côté serveur et HTML5 côté client. [MIT] site web
- wxCharts - Bibliothèque de création de graphiques dans les applications wxWidgets. [MIT] site web
- wxWidgets - Bibliothèque C++ permettant de créer des applications pour Windows, Mac OS X, Linux et d’autres plateformes à partir d’une base de code unique. [LGPL propre]
- Yue - Bibliothèque de création d’applications natives d’interface graphique multiplateformes. [LGPLv2]
- GuiLite - Plus petite bibliothèque d’interface graphique à en-tête unique (5 KLOC) pour toutes les plateformes. [Apache-2.0]
- LCUI - Petite bibliothèque C de création d’interfaces utilisateur avec C, XML et CSS. [MIT]
Graphisme
Section intitulée « Graphisme »- assimp - Open Asset Import Library (assimp) est une bibliothèque multiplateforme d’importation de modèles 3D, visant à fournir une API commune à différents formats de fichiers d’objets 3D. [BSD-3-Clause] site web
- bgfx - Bibliothèque de rendu multiplateforme. [BSD]
- Blend2D - Moteur graphique vectoriel 2D accéléré par un compilateur JIT. [Zlib] site web
- Cairo - Bibliothèque graphique 2D prenant en charge plusieurs périphériques de sortie. [LGPL2 ou Mozilla MPL]
- C-Turtle - Bibliothèque graphique tortue C++11 à en-tête unique servant de wrapper à CImg. [MIT]
- Diligent Engine - Bibliothèque graphique 3D moderne, multiplateforme et de bas niveau. [Apache2]
- DirectXTK - Collection de classes utilitaires pour écrire du code DirectX 11.x en C++. [MIT]
- GLFW - Bibliothèque simple et multiplateforme de gestion d’OpenGL. [zlib/libpng]
- GLFWPP - Wrapper GLFW léger, moderne, C++17 et à en-tête unique. [MIT]
- Harfang 3D Bibliothèque de visualisation 3D utilisable en C++, Python, Lua et Go, fondée sur BGFX. [GPLv3/LGPLv3/propriétaire] site web
- herebedragons - Scène 3D élémentaire implémentée avec différents moteurs, frameworks ou API. [MIT] site web
- Horde3D - Petit moteur de rendu et d’animation 3D. [EPL]
- Ion - Ensemble compact et efficace de bibliothèques pour créer des applications clientes ou serveurs multiplateformes utilisant des graphismes 3D. [Apache2] site web
- Irrlicht - Moteur 3D temps réel hautes performances écrit en C++. [zlib]
- libigl - Bibliothèque simple de traitement géométrique en C++. [MPL2]
- LLGL - Low Level Graphics Library (LLGL), mince couche d’abstraction des API graphiques modernes. [BSD-3-Clause]
- LunaSVG - Bibliothèque autonome de rendu SVG en C++. [MIT]
- magnum - Middleware graphique C++11/C++14 léger et modulaire pour les jeux et la visualisation de données. [MIT] site web
- MESHLIB - SDK pour accélérer le traitement des données 3D. [Gratuit/commercial] site web
- micro-gl - Graphismes vectoriels CPU C++11 en temps réel, intégrables et à en-tête unique. Sans bibliothèque standard, FPU ni GPU requis. [PERSONNALISÉ] site web
- NanoVG - Bibliothèque de dessin vectoriel 2D anticrénelé reposant sur OpenGL pour les interfaces et les visualisations. [Zlib]
- Ogre 3D :zap: - Moteur de rendu 3D temps réel flexible et orienté scène (contrairement à un moteur de jeu), écrit en C++. [MIT] site web
- OpenSceneGraph - Boîte à outils graphique 3D open source et hautes performances. [OSGPL]
- OpenSubdiv - Bibliothèque de Pixar pour évaluer et rendre des surfaces de subdivision sur CPU et GPU. [Apache2 modifiée]
- OpenVDB - Bibliothèque et outils de stockage, modification et rendu de jeux de données volumiques. [MPL2]
- Panda3D - Framework de rendu 3D et de développement de jeux pour Python et C++. [BSD]
- Partio - Bibliothèque de manipulation de données de particules prenant en charge la plupart des formats de fichiers courants. [BSD modifiée]
- Skia - Bibliothèque graphique 2D complète pour dessiner du texte, des géométries et des images. [BSD] site web
- ThorVG - Bibliothèque portable et indépendante de la plateforme pour dessiner des scènes et animations vectorielles, dont SVG et Lottie. [MIT] site web
- TinySpline - Bibliothèque ANSI C compacte mais puissante pour interpoler, transformer et interroger des courbes NURBS, B-splines et Bézier arbitraires. [MIT]
- urho3d - Moteur de rendu et moteur de jeu multiplateformes. [Nombreuses licences, principalement MIT]
- Yocto/GL - Petites bibliothèques C++ de graphismes fondés sur la physique et pilotés par les données. [MIT]
- olive.c - Bibliothèque graphique 2D simple. [MIT]
Traitement d’images
Section intitulée « Traitement d’images »- avir - Redimensionneur d’images HDR professionnel de haute qualité et redimensionneur Lanczos SIMD rapide. [MIT]
- Boost.GIL - Bibliothèque générique d’images. [Boost] site web
- BitmapPlusPLus - Bibliothèque C++ bitmap simple et rapide, à en-tête unique. [MIT]
- CImg - Petite boîte à outils C++ open source de traitement d’images. [LGPL ou GPL propre]
- CxImage - Bibliothèque de traitement et de conversion d’images pour charger, enregistrer, afficher et transformer des images BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG et J2K. [zlib]
- Dlib :zap: - Boîte à outils C++11 moderne d’apprentissage automatique, vision par ordinateur, optimisation numérique et apprentissage profond. [Boost] site web
- fpng - Lecteur/rédacteur PNG C++ extrêmement rapide. [Unlicense]
- FreeImage - Bibliothèque open source prenant en charge les formats d’image populaires et d’autres formats utiles aux applications multimédias actuelles. [GPL2 ou GPL3]
- GD - Bibliothèque graphique GD, célèbre pour son usage en PHP pour charger et manipuler des images et créer des miniatures. [Licence permissive personnalisée, mention obligatoire dans la documentation utilisateur] site web
- DCMTK - Boîte à outils DICOM.
- GDCM - Bibliothèque DICOM communautaire.
- ITK - Système open source et multiplateforme d’analyse d’images. [Apache2 depuis ITK 4.0]
- Jpegli - Implémentation améliorée d’un encodeur et décodeur JPEG. [BSD-3-Clause]
- Leptonica - Bibliothèque open source regroupant des logiciels largement utiles au traitement d’images et aux applications d’analyse d’images. [BSD-2-Clause] site web
- libavif - Bibliothèque d’encodage et de décodage des fichiers .avif. [BSD-2-Clause]
- libfacedetection - Bibliothèque open source de détection de visages dans les images. La détection peut atteindre 1 500 images/s. [BSD]
- libjpeg-turbo - Codec d’image JPEG utilisant des instructions SIMD pour accélérer l’encodage et le décodage JPEG de base. [IJG, BSD-3-Clause et zlib] site web
- libjxl - Implémentation de référence du format d’image JPEG XL. [BSD-3-Clause]
- libpng - Bibliothèque de référence utilisée par les applications qui lisent, créent et manipulent des images matricielles PNG (Portable Network Graphics). [libpng-2.0] site web
- libspng - Alternative simple et moderne à libpng. [BSD-2] site web
- libvips - Bibliothèque de traitement d’images rapide et peu gourmande en mémoire. [LGPL] site web
- LodePNG - Encodeur et décodeur PNG en C et C++. [Zlib]
- Magick++ - Interfaces de programmation ImageMagick pour C++. [Apache2]
- MagickWnd - Interfaces de programmation ImageMagick pour C. [Apache2]
- MozJPEG - Encodeur JPEG amélioré. [BSD/BSD-3-Clause/ZLIB]
- OpenCV :zap: - Vision par ordinateur open source. [Apache2] site web
- OpenEXR - Bibliothèque multiplateforme d’imagerie à grande plage dynamique. [BSDF modifiée]
- OpenImageIO - Puissante bibliothèque de manipulation d’images et de textures prenant en charge un grand nombre de formats avec perte et RAW courants. [BSD modifiée]
- OpenJPEG - Codec JPEG 2000 open source écrit en C. [BSD-2-Clause]
- PlutoFilter - Bibliothèque de filtres d’image en C, à en-tête unique et sans allocation. [MIT]
- QOI - « Quite OK Image Format », format rapide de compression d’images sans perte. [MIT]
- SAIL - Bibliothèque multiplateforme facile à utiliser de décodage d’images, avec codecs d’image enfichables. [MIT]
- Simd - Bibliothèque C++ de traitement d’images exploitant SIMD : SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec), VSX(Power7) et NEON pour ARM. [MIT]
- stb-image - Bibliothèque STB de chargement d’images à en-tête unique. [Domaine public]
- tesseract-ocr - Moteur de reconnaissance optique de caractères (OCR). [Apache2]
- TinyDNG - Lecteur et rédacteur Tiny DNG/TIFF C++ à en-tête unique. [MIT]
- TinyEXIF - Petite bibliothèque C++ conforme ISO d’analyse EXIF et XMP pour JPEG. [MIT]
- TinyTIFF - Bibliothèque légère de lecture/écriture TIFF. [GPL-3.0]
- Video++ - Bibliothèque C++14 hautes performances de traitement vidéo et d’images. [MIT]
- VIGRA - Bibliothèque C++ généraliste de vision par ordinateur pour l’analyse d’images. [MIT X11]
- VTK - Système logiciel open source et librement disponible pour l’infographie 3D, le traitement d’images et la visualisation. [BSD]
- OpenImageDenoise - Bibliothèque de débruitage hautes performances et de haute qualité pour les images tracées par rayons. [Apache-2.0] site web
- bitmap - Bibliothèque C++ de lecture, écriture et traitement de fichiers image bitmap. [MIT]
Internationalisation
Section intitulée « Internationalisation »- gettext - GNU « gettext ». [GPL2]
- IBM ICU - Ensemble de bibliothèques C/C++ et Java prenant en charge Unicode et la mondialisation. [ICU]
- libiconv - Bibliothèque de conversion entre différents encodages de caractères. [GPL]
- simdutf - Routines Unicode (UTF-8, UTF-16, UTF-32) : des milliards de caractères par seconde avec SSE2, AVX2, NEON et AVX-512. [Apache-2/MIT]
- uni-algo - Implémentation d’algorithmes Unicode pour C/C++. [Unlicense ou MIT]
- utf8.h - Fonctions de chaînes UTF-8 pour C et C++ dans un seul en-tête. [Unlicense]
- utf8proc - Bibliothèque C claire de traitement des données Unicode UTF-8. [MIT]
Communication interprocessus
Section intitulée « Communication interprocessus »- Apache Thrift - IPC/RPC interlangages efficace entre C++, Java, Python, PHP, C# et de nombreux autres langages. Initialement développé par Facebook. [Apache2]
- Boost.Interprocess - Bibliothèque Boost à en-tête unique prenant en charge la mémoire partagée au niveau du noyau et les fichiers mappés en mémoire, avec mécanismes de synchronisation intégrés (sémaphores, mutex et autres). [Boost] site web
- bRPC - Framework RPC C++ de qualité industrielle, souvent utilisé dans des systèmes hautes performances de recherche, stockage, apprentissage automatique, publicité, recommandation, etc. [Apache2] site web
- Cap’n Proto - Format d’échange de données rapide et système RPC fondé sur les capacités. [MIT] site web
- eCAL - Publication/abonnement, client/serveur, C++/Python/C#, divers protocoles de messages (protobuf, capnproto, etc.). [Apache2] site web
- gRPC - Framework RPC généraliste, open source et hautes performances. [BSD] site web
- Ice - Framework RPC complet prenant en charge C++, C#, Java, JavaScript, Python et d’autres langages. [GPLv2]
- iceoryx - Framework IPC réellement sans copie pour systèmes critiques de sécurité, avec liaisons C et Rust. Fonctionne sous Linux, QNX, Windows, macOS et FreeBSD. [Apache2] site web
- libjson-rpc-cpp - Framework JSON-RPC pour serveurs et clients C++. [MIT]
- nanomsg - Implémentation simple et performante de plusieurs « protocoles d’évolutivité ». [MIT] site web
- nng - nanomsg nouvelle génération, bibliothèque de messagerie légère sans courtier. [MIT] site web
- rpclib - Bibliothèque C++ moderne de serveur et client msgpack-RPC. [MIT]
- simple-rpc-cpp - Générateur simple de wrappers RPC pour les fonctions C/C++. [BSD]
- SRPC - Système RPC léger prenant en charge plusieurs protocoles et OpenTelemetry. [Apache2]
- WAMP - Fournit des modèles de messagerie RPC et publication/abonnement (diverses implémentations et langages).
- xmlrpc-c - Bibliothèque RPC légère fondée sur XML et HTTP. [BSD]
- Boost.PropertyTree - Analyseur/générateur d’arborescences de propriétés pouvant analyser les fichiers XML/JSON/INI/Info. [Boost] site web
- cJSON - Analyseur JSON ultraléger en ANSI C. [MIT]
- DAW JSON Link - Sérialisation et analyse JSON rapides et pratiques en C++. [BSL-1.0]
- frozen - Analyseur et générateur JSON pour C/C++. [GPL et GPL2]
- Glaze - Bibliothèque JSON et d’interface en mémoire extrêmement rapide pour le C++ moderne. [MIT]
- Jansson - Bibliothèque C d’encodage, décodage et manipulation des données JSON. [MIT]
- jbson - Bibliothèque de création et d’itération de données BSON et de documents JSON en C++14. [Boost]
- JeayeSON - Bibliothèque JSON C++ très bien conçue, à en-tête unique. [BSD]
- Jsmn - Analyseur JSON minimaliste en C. [MIT]
- json :zap: - JSON pour le C++ moderne. [MIT] site web
- json.cpp - Bibliothèque baroque d’analyse et de sérialisation JSON pour C++. [Apache-2.0]
- json.h - Solution simple, avec un seul en-tête/fichier source, pour analyser JSON en C et C++. [Unlicense]
- json-build - Sérialiseur JSON C89 minuscule et sans allocation. [MIT]
- json-c - Implémentation de JSON en C. [MIT]
- jsoncons - Bibliothèque C++ à en-tête unique pour JSON et les formats binaires apparentés, avec JSONPointer, JSONPatch, JSONPath et JMESPath. [Boost]
- JsonCpp - Bibliothèque C++ d’interaction avec JSON. [MIT]
- Jsonifier - Quelques classes pour analyser et sérialiser très rapidement des objets JSON et vers JSON. [MIT]
- jsonParse - Analyseur JSON simple en ANSI C. [MIT]
- json-parser - Analyseur JSON portable en ANSI C, à empreinte mémoire très réduite. [BSD]
- json-struct - Analyseur JSON C++ hautes performances à en-tête unique, vers et depuis les structures C++. [MIT]
- json-voorhees - Bibliothèque JSON pour C++11, sans dépendances, rapide et conviviale pour les développeurs. [Apache2]
- JSON Toolkit - Bibliothèque C++20 pour JSON, JSON Pointer, JSON Schema et JSONL. [AGPL/commerciale]
- jute - Analyseur JSON C++ très simple. [Domaine public]
- libjson - Bibliothèque C d’analyse et d’impression JSON, facile à intégrer à tout modèle. [LGPL]
- libjson - Bibliothèque JSON légère. [?]
- LIBUCL :zap: - Analyseur de bibliothèque de configuration universelle. [BSD-2-Clause]
- meojson - Moteur de sérialisation JSON/JSON5 C++ nouvelle génération : aucune dépendance, en-tête unique, tout le potentiel de JSON. [MIT]
- parson - Bibliothèque JSON légère écrite en C. [MIT]
- PicoJSON - Analyseur-sérialiseur JSON C++ uniquement composé d’un fichier d’en-tête. [BSD]
- qt-json - Classe simple d’analyse des données JSON en hiérarchie QVariant, et inversement. [GPLv3]
- RapidJSON :zap: - Analyseur/générateur JSON rapide pour C++, doté d’API de style SAX et DOM. [MIT] site web
- sajson - Analyseur JSON C++11 léger et extrêmement performant. [MIT]
- simdjson - Bibliothèque JSON extrêmement rapide, capable d’analyser des gigaoctets de JSON par seconde. [Apache-2.0]
- Sonic-Cpp - Bibliothèque rapide de sérialisation et désérialisation JSON, accélérée par SIMD. [Apache-2.0]
- taoJSON - Bibliothèque JSON C++ à en-tête unique et sans dépendances. [MIT]
- ujson - µjson est une petite bibliothèque JSON UTF-8 pour C++11. [MIT]
- UltraJSON - Décodeur et encodeur JSON ultra-rapide écrit en C. [BSD-3-Clause]
- YAJL - Bibliothèque rapide d’analyse JSON en flux en C. [ISC]
- yyjson - Bibliothèque JSON hautes performances écrite en ANSI C. [MIT]
- libdart - Bibliothèque de manipulation JSON hautes performances, optimisée pour le réseau. [MIT]
Journalisation
Section intitulée « Journalisation »- Abseil Logging - La bibliothèque de journalisation Abseil fournit des moyens d’écrire des messages de journal dans stderr, des fichiers ou d’autres destinations. [Apache-2.0]
- Blackhole - Framework de journalisation fondé sur les attributs, 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 - Système de journalisation léger et hautes performances, utilisé notamment dans « Honor of Kings ». [Apache-2.0]
- fmtlog - Bibliothèque de journalisation performante de style fmtlib, avec une latence de quelques nanosecondes. [MIT]
- G3log - Enregistreur asynchrone avec destinations dynamiques. [Domaine public]
- glog - Implémentation C++ du module de journalisation Google.
- haclog - Bibliothèque de journalisation C pure extrêmement rapide. [MIT]
- Log4cpp - Bibliothèque de classes C++ permettant une journalisation flexible dans des fichiers, syslog, IDSA et d’autres destinations. [LGPL]
- log4cplus - API de journalisation C++ facile à utiliser, offrant un contrôle flexible, sécurisé pour les threads et arbitrairement granulaire de la gestion et de la configuration des journaux. [BSD et Apache2]
- loguru - Bibliothèque légère de journalisation C++. [Domaine public]
- lwlog - Bibliothèque de journalisation C++17 synchrone et asynchrone très rapide. [MIT]
- ng-log - Bibliothèque C++14 de journalisation au niveau applicatif. [BSD-3-Clause]
- plog - Journalisation C++ portable et simple, en moins de 1 000 lignes de code. [MPL2]
- reckless - Bibliothèque C++ de journalisation asynchrone, à faible latence et haut débit. [MIT]
- spdlog - Bibliothèque de journalisation C++ extrêmement rapide, à en-tête unique.
- templog - Bibliothèque C++ très compacte et légère pour ajouter la journalisation aux applications. [Boost]
- P7Baical - Bibliothèque open source multiplateforme d’envoi rapide de télémétrie et de traces, avec une utilisation minimale du CPU et de la mémoire. [LGPL]
- Quill - Bibliothèque de journalisation asynchrone multiplateforme à faible latence. [MIT]
- logfault - Bibliothèque C++ de journalisation à en-tête unique, simple, élégante et efficace. [MIT]
Apprentissage automatique
Section intitulée « Apprentissage automatique »- Caffe - Framework rapide de réseaux neuronaux. [BSD]
- catboost - Bibliothèque de gradient boosting sur arbres de décision rapide, évolutive et hautes performances. [Apache2]
- CCV - Bibliothèque de vision par ordinateur en C, avec cache et cœur moderne. [BSD]
- darknet - Framework de réseaux neuronaux open source écrit en C et CUDA. [Domaine public] site web
- Dlib :zap: - Boîte à outils C++11 moderne d’apprentissage automatique, vision par ordinateur, optimisation numérique et apprentissage profond. [Boost] site web
- FAISS - Bibliothèque de recherche efficace par similarité et de regroupement de vecteurs denses. [MIT]
- FANN - Bibliothèque rapide de réseaux neuronaux artificiels en C. [LGPL]
- Fido - Bibliothèque C++ d’apprentissage automatique hautement modulaire pour l’électronique embarquée et la robotique. [MIT] site web
- flashlight - Bibliothèque d’apprentissage automatique rapide et flexible de Facebook AI Research, entièrement écrite en C++ et fondée sur la bibliothèque de tenseurs ArrayFire. [BSD-3-Clause] site web
- ggml - Bibliothèque de tenseurs pour l’apprentissage automatique, prenant en charge la quantification 16 et 4 bits. [MIT]
- libsvm - Bibliothèque simple, facile à utiliser et efficace pour les machines à vecteurs de support. [BSD-3-Clause] site web
- m2cgen - Outil CLI transcompilant les modèles classiques d’apprentissage automatique entraînés en code C natif, sans dépendances. [MIT]
- MeTA - Boîte à outils moderne de science des données en C++. [MIT]
- Minerva - Système rapide et flexible d’apprentissage profond. [Apache2]
- mlpack - Bibliothèque C++ évolutive d’apprentissage automatique. [LGPLv3] site web
- ncnn - Framework de calcul d’inférence de réseaux neuronaux hautes performances, optimisé pour les plateformes mobiles. [BSD]
- OpenCV :zap: - Bibliothèque open source de vision par ordinateur. [BSD] site web
- oneDAL - Puissante bibliothèque d’apprentissage automatique accélérant l’analyse des mégadonnées. [Apache]
- ONNX runtime - Bibliothèque C et C++ d’entraînement et d’inférence de modèles ONNX. ONNX est une norme vers laquelle convertir les modèles d’IA, quelle que soit la bibliothèque d’entraînement. [MIT] site web
- Recommender - Bibliothèque C de recommandations de produits fondée sur le filtrage collaboratif (CF). [BSD]
- RNNLIB - Bibliothèque de réseaux neuronaux récurrents pour les problèmes d’apprentissage séquentiel. [GPLv3]
- SHOGUN - Boîte à outils d’apprentissage automatique Shogun. [GPLv3]
- sofia-ml - Suite d’algorithmes rapides et incrémentiels d’apprentissage automatique. [Apache2]
- USearch - Bibliothèque rapide de recherche et de regroupement de vecteurs et de chaînes. [Apache2]
- VLFeat - Bibliothèque open source mettant en œuvre des algorithmes populaires de vision par ordinateur, notamment la compréhension d’images et l’extraction/mise en correspondance de caractéristiques locales. [BSD-2-Clause] site web
- xgboost - Bibliothèque évolutive, portable et distribuée de gradient boosting (GBDT, GBRT ou GBM) pour Python, R, Java, Scala, C++ et d’autres langages. Fonctionne sur une seule machine, Hadoop, Spark, Flink et DataFlow. [Apache2]
- TensorComprehensions - Bibliothèque C++ complète synthétisant automatiquement des noyaux d’apprentissage automatique hautes performances. [Apache-2.0]
- kann - Bibliothèque C légère de réseaux neuronaux artificiels. [MIT]
Mathématiques
Section intitulée « Mathématiques »- Apophenia - Bibliothèque C de calcul statistique et scientifique. [GPL2]
- Armadillo - Bibliothèque C++ rapide d’algèbre linéaire et de calcul scientifique. [Apache2] site web
- autodiff - Bibliothèque C++ moderne, rapide et expressive de différentiation automatique. [MIT] site web
- blaze - Bibliothèque mathématique C++ hautes performances pour le calcul dense et creux. [BSD]
- Boost.Multiprecision - Fournit en C++ des types entiers, rationnels et à virgule flottante de plage/précision étendue, à en-tête unique ou avec les backends GMP/MPFR/LibTomMath. [Boost] site web
- ceres-solver - Bibliothèque C++ de Google pour modéliser et résoudre de grands problèmes complexes de moindres carrés non linéaires. [BSD]
- CGAL - Collection d’algorithmes géométriques efficaces et fiables. [LGPL et GPL] site web
- cml - Bibliothèque mathématique configurable. [Boost]
- CNL - Bibliothèque numérique compositionnelle pour C++. [Boost]
- DirectXMath - Bibliothèque d’algèbre linéaire C++ SIMD entièrement intégrée, destinée aux jeux et applications graphiques.
- Dlib :zap: - Boîte à outils C++11 moderne d’apprentissage automatique, vision par ordinateur, optimisation numérique et apprentissage profond. [Boost] site web
- Eigen - Bibliothèque C++ de haut niveau, composée d’en-têtes modèles, pour l’algèbre linéaire, les opérations sur matrices et vecteurs, les solveurs numériques et les algorithmes associés. [MPL2]
- ExprTk - ExprTk, boîte à outils C++ d’expressions mathématiques, est un analyseur et moteur d’évaluation à l’exécution, simple à utiliser, facile à intégrer et extrêmement efficace. [MIT]
- Fastor - Framework léger et hautes performances d’algèbre tensorielle pour le C++ moderne. [MIT]
- geo-utils-cpp - Bibliothèque C++17 à en-tête unique de géométrie sphérique latitude/longitude : distance, azimut, surface, appartenance d’un point à un polygone. [Apache2]
- Geometric Tools - Bibliothèque C++ de calcul en mathématiques, graphisme, analyse d’images et physique. [Boost] site web
- GLM - Bibliothèque mathématique C++ à en-tête unique, compatible et interopérable avec les mathématiques GLSL d’OpenGL. [MIT] site web
- GMTL - Graphics Math Template Library est une collection d’outils implémentant de manière généralisée des primitives graphiques. [GPL2]
- GMP - Bibliothèque C d’arithmétique en précision arbitraire sur les entiers signés, nombres rationnels et nombres à virgule flottante. [LGPL3 et GPL2]
- Klein - Bibliothèque C++17 rapide d’algèbre géométrique optimisée SIMD pour les projections de points, lignes et plans, intersections, jointures, mouvements de corps rigides, etc. [MIT] site web
- libfixmath - Bibliothèque multiplateforme de mathématiques en virgule fixe. [MIT]
- linalg.h - Bibliothèque C++ de mathématiques sur vecteurs courts, dans un seul en-tête et du domaine public. [Unlicense]
- MATIO - Bibliothèque d’E/S de fichiers MAT de MATLAB. [BSD-2-Clause] site web
- MatX - Bibliothèque C++17 de calcul numérique accéléré par GPU, avec une syntaxe proche de MATLAB/Python. [BSD 3-clause]
- mexce - Compilateur JIT sans dépendances, à en-tête unique, d’expressions mathématiques scalaires, générant du code machine x87 FPU optimisé. [BSD]
- MIRACL - Bibliothèque cryptographique d’arithmétique entière et rationnelle multiprécision. [AGPL]
- NumCpp - Implémentation C++ à modèles, à en-tête unique, de la bibliothèque Python NumPy. [MIT]
- NumKong - Distances, produits scalaires, opérations matricielles et noyaux géospatiaux/géométriques accélérés SIMD pour 16 types numériques. [Apache2] (anciennement SimSIMD)
- OMath - Bibliothèque mathématique généraliste moderne et multiplateforme, écrite en C++23, adaptée au développement de triches et de jeux. [ZLIB]
- muparser - Bibliothèque C++ extensible et hautes performances d’analyse d’expressions mathématiques. [MIT]
- LibTomMath - Bibliothèque portable, libre et open source d’entiers multiprécision de théorie des nombres, entièrement écrite en C. [Domaine public et WTFPL] site web
- linmath.h - Bibliothèque d’algèbre linéaire compacte destinée à la programmation graphique. [WTFPL]
- lp_solve - Bibliothèque de formulation et de résolution de problèmes de programmation linéaire. [LGPL] site web
- OpenBLAS - Bibliothèque BLAS optimisée, fondée sur la version BSD de GotoBLAS2 1.13. [BSD 3-clause] site web
- PCG-rand - PCG est une famille d’algorithmes simples, rapides, peu gourmands en espace et statistiquement performants pour générer des nombres aléatoires. Contrairement à nombre de générateurs généralistes, ils sont aussi difficiles à prédire. [Apache]
- QuantLib - Bibliothèque libre et open source de finance quantitative. [BSD modifiée] site web
- sebsjames/maths - Bibliothèque mathématique C++20 à modèles, privilégiant la simplicité et le plaisir d’utilisation pour les développeurs (utilisée dans mathplot). [Apache2] site web
- StatsLib - Bibliothèque C++ à en-tête unique de fonctions de distributions statistiques. [Apache2] site web
- SymEngine - Bibliothèque rapide de manipulation symbolique, réécriture en C++ du cœur de SymPy. [MIT]
- TinyExpr - Bibliothèque C d’analyse et d’évaluation d’expressions mathématiques sous forme de chaînes. [zlib]
- Vc - Classes de vecteurs SIMD pour C++. [BSD]
- Versor - Bibliothèque C++ générique et rapide d’algèbres géométriques, notamment euclidiennes, projectives, conformes et de l’espace-temps.
- Wagyu - Bibliothèque généraliste d’opérations géométriques d’union, d’intersection, de différence et de différence symétrique. [mapbox-wagyu original]
- wide-integer - Implémente un modèle C++ générique pour uint128_t, uint256_t, uint512_t, uint1024_t, etc. [BSL-1.0]
- Wykobi - Bibliothèque C++ de routines de géométrie computationnelle 2D/3D efficaces, robustes et faciles à utiliser. [MIT]
- xtensor - Bibliothèque C++14 d’analyse numérique avec expressions de tableaux multidimensionnels, inspirée de la syntaxe NumPy. [BSD 3-clause] site web
- universal - Bibliothèque C++14 à en-tête unique implémentant l’arithmétique posit arbitraire. Le système numérique posit utilise une virgule flottante à précision progressive, plus efficace que celle d’IEEE, permettant une science computationnelle reproductible. [Licence MIT]
- utl::random - Bibliothèque C++17 à en-tête unique de génération aléatoire rapide pour les simulations Monte-Carlo et le développement de jeux. [MIT]
- XAD - Puissante différentiation automatique pour C++. [AGPL] site web
- geogram - Bibliothèque de programmation d’algorithmes géométriques. [BSD-3-Clause]
- std-simd - Implémentation portable de std::experimental::simd pour C++. [BSD-3-Clause]
- libdivide - Division entière optimisée en C/C++ au moyen de libdivide. [zlib] site web
- fpsqrt - Racine carrée rapide en virgule fixe et flottante en C. [MIT]
- fastmod - Bibliothèque C/C++ rapide à en-tête unique de calcul des restes et réductions modulaires. [Apache-2.0]
- Spectra - Bibliothèque C++ de problèmes de valeurs propres à grande échelle, fondée sur Eigen. [MPL2] site web
- FastNoiseSIMD - Bibliothèque de fonctions de génération de bruit accélérées par SIMD. [MIT]
Allocation mémoire
Section intitulée « Allocation mémoire »- Boehm GC - Ramasse-miettes conservateur pour C et C++. [semblable à X11] site web
- C Smart Pointers - Pointeurs intelligents pour le langage de programmation C (GNU). [MIT]
- Hoard - Malloc rapide, évolutif et économe en mémoire pour Linux, Windows et Mac. [Apache-2.0] site web
- jemalloc - Implémentation généraliste de malloc(3) privilégiant la prévention de la fragmentation et la prise en charge évolutive de la concurrence. [BSD] site web
- memory - Bibliothèque C++ d’allocateurs mémoire compatible STL. [ZLib]
- memory-allocators - Allocateurs mémoire personnalisés améliorant les performances de l’allocation dynamique. [MIT]
- mimalloc - Allocateur généraliste compact aux excellentes performances. [MIT]
- rpmalloc - Allocateur mémoire C multiplateforme, sans verrou, avec cache de threads et alignement sur 16 octets. [Domaine public]
- snmalloc - Allocateur hautes performances fondé sur le passage de messages. [MIT]
- TCMalloc - Implémentation rapide et multithread de malloc par Google. [Apache-2.0] site web
- buddy_alloc - Allocateur mémoire buddy C à en-tête unique, avec coûts d’allocation bornés. [0BSD]
- tgc - Minuscule ramasse-miettes C écrit en environ 500 lignes de code. [BSD]
- Mesh - Allocateur mémoire réduisant automatiquement l’empreinte mémoire des applications C/C++. [Apache-2.0]
- rpmalloc - Allocateur multiplateforme du domaine public, sans verrou, avec cache de threads et alignement mémoire sur 16 octets. [Domaine public]
- TLSF - Allocateur mémoire Two-Level Segregated Fit, généraliste et dynamique. [BSD]
Multimédia
Section intitulée « Multimédia »- GStreamer - Bibliothèque de construction de graphes de composants de traitement multimédia. [LGPL]
- icey - Pile multimédia temps réel et alternative légère à libwebrtc pour l’ingestion RTSP, le traitement des médias, la signalisation, TURN et la diffusion dans le navigateur, écrite en C++20. [LGPL v2.1+]
- libass - Moteur portable de rendu des sous-titres au format ASS/SSA. [ISC]
- libav - Collection de bibliothèques et d’outils de traitement des contenus multimédias, comme l’audio, la vidéo, les sous-titres et leurs métadonnées. [LGPL v2.1+ et autres] site web
- LIVE555 Streaming Media - Bibliothèque de diffusion multimédia utilisant des protocoles ouverts standard (RTP/RTCP, RTSP, SIP). [LGPL]
- libVLC - Framework multimédia libVLC (SDK VLC). [GPL]
- MediaInfoLib - Affichage unifié pratique des données techniques et balises les plus pertinentes des fichiers vidéo et audio. [BSD]
- QtAv - Framework de lecture multimédia fondé sur Qt et FFmpeg, facilitant la création d’un lecteur. [LGPL] site web
- SDL :zap: - Simple DirectMedia Layer. [zlib] site web
- SFML :zap: - Bibliothèque multimédia simple et rapide. [zlib] site web
- TagLib - Bibliothèque de lecture et de modification des métadonnées de plusieurs formats audio populaires. [LGPL/MPL] site web
- ada - Analyseur d’URL rapide, conforme à WHATWG et écrit en C++ moderne. [Apache-2.0/MIT]
- ACE - Boîte à outils de programmation réseau orientée objet en C++. [?MIT?]
- AGENT++ - Framework C++ fournissant un moteur de protocole et répartiteur SNMP v1/2c/3 complet, en trois langues, pour développer des agents SNMP. [Apache-2.0]
- Boost.Asio :zap: - Bibliothèque C++ multiplateforme de programmation réseau et d’E/S bas niveau. [Boost] site web
- Boost.Beast :zap: - HTTP et WebSocket fondés sur Boost.Asio en C++11. [Boost] site web
- Breep - Bibliothèque pair-à-pair C++14 de haut niveau, pilotée par événements. [EUPL-1.1 (approuvée par l’OSI)]
- C++ REST SDK - SDK REST C++, anciennement nommé Casablanca. [Apache2]
- CZMQ - Liaison C de haut niveau pour ØMQ. [MPL2] site web
- Restbed - Framework RESTful asynchrone C++11. [AGPL]
- Restinio - Bibliothèque C++14 à en-tête unique fournissant un serveur HTTP/WebSocket embarqué. [BSD]
- c-ares - Bibliothèque C de requêtes DNS asynchrones. [MIT]
- cofetch - Client HTTP asynchrone chaînable, fondé sur l’interface multi de libcurl et ASIO. Callbacks, coroutines et futures dans une même implémentation. [MIT]
- cpp-httplib - Bibliothèque serveur HTTP/HTTPS C++11 à en-tête unique dans un seul fichier. [MIT]
- cpp-netlib - Collection de bibliothèques open source de programmation réseau de haut niveau. [Boost]
- cpp-netlib/uri - Bibliothèque C++ d’analyse et de construction d’URI, compatible avec les RFC 3986 et 3987. [Boost]
- CppServer - Bibliothèque C++ ultra-rapide et à faible latence de serveurs et clients de sockets asynchrones, prenant en charge TCP, SSL, UDP, HTTP, HTTPS et WebSocket, et résolvant le problème des 10 000 connexions. [MIT]
- cpr - Bibliothèque moderne de requêtes HTTP C++ avec une interface simple mais puissante, inspirée du module Python Requests. [MIT] site web
- curlcpp - Wrapper C++ orienté objet de CURL (libcurl). [MIT]
- curlpp - Wrapper C++ de libcURL. [MIT]
- DPDK - Data Plane Development Kit : bibliothèques et pilotes de traitement rapide des paquets. [BSD-3-Clause et GPL-2.0] site web
- ENet - Bibliothèque réseau UDP fiable. [MIT] site web
- evpp - Réseau C++ hautes performances avec les protocoles TCP/UDP/HTTP. [BSD]
- FTP client for C++ - Client C++ pour envoyer des requêtes FTP. [MIT]
- H2O - Serveur HTTP optimisé prenant en charge HTTP/1.x et HTTP/2, également utilisable comme bibliothèque. [MIT]
- KCP - Protocole ARQ rapide et fiable aidant les applications à réduire la latence réseau. [MIT]
- libcurl - Bibliothèque de transfert de fichiers multiprotocole. [MIT/licence dérivée de X]
- libhttpserver - Bibliothèque C++ de création d’un serveur HTTP REST embarqué, entre autres. [LGPL2.1]
- Libmicrohttpd - Petite bibliothèque C GNU facilitant l’exécution d’un serveur HTTP au sein d’une autre application. [LGPL v2.1+]
- libpcap - Bibliothèque C/C++ portable de capture du trafic réseau. [BSD] site web
- libquic - Bibliothèque du protocole QUIC extraite de l’implémentation QUIC de Chromium. [BSD]
- librdkafka - Bibliothèque cliente Apache Kafka pour C et C++. [BSD-2-Clause]
- libwebsockets - Implémentation WebSocket légère en C pur fournissant des bibliothèques clientes et serveur. [LGPL2.1 + exception de liaison statique] site web
- Lithium - Créez des serveurs HTTP C++ hautes performances sans être expert en C++. [MIT]
- lwIP - Pile TCP/IP légère. [BSD modifiée]
- mailio - Bibliothèque C++ multiplateforme pour le format MIME et les protocoles SMTP, POP3 et IMAP. [BSD]
- Mongoose - Serveur web extrêmement léger. [GPL2]
- MQTT-C - Client MQTT C portable pour systèmes embarqués et ordinateurs. [MIT] site web
- mTCP - Pile TCP hautement évolutive en espace utilisateur pour systèmes multicœurs. [BSD modifiée]
- Muduo - Bibliothèque réseau C++ non bloquante pour serveurs multithread sous Linux. [BSD]
- nghttp2 - Bibliothèque C HTTP/2. [MIT] site web
- nghttp3 - Bibliothèque HTTP/3 écrite en C. [MIT] site web
- Onion - Bibliothèque de serveur HTTP C légère et facile à utiliser. [Apache2/GPL2]
- OpenDDS - Implémentation C++ open source du Data Distribution Service (DDS) de l’Object Management Group (OMG). [Apache2]
- PF_RING™ - Framework de traitement rapide des paquets. [LGPL-2.1] site web
- PicoHTTPParser - Analyseur de requêtes/réponses HTTP minuscule, élémentaire et rapide. [MIT]
- POCO :zap: - Bibliothèques de classes et frameworks C++ pour créer des applications réseau et Internet fonctionnant sur ordinateur, serveur, mobile et systèmes embarqués. [Boost] site web
- Proxygen - Collection de bibliothèques HTTP C++ de Facebook, dont un serveur HTTP facile à utiliser. [BSD]
- RedPanda - Plateforme de données en flux pour développeurs, compatible avec l’API Kafka et dix fois plus rapide. [BSL]
- RakNet - Moteur réseau C++ open source et multiplateforme pour développeurs de jeux. [BSD]
- restclient-cpp - Client REST simple pour C++, utilisant libcurl pour les requêtes HTTP. [MIT]
- Seasocks - Serveur web C++ simple, compact et intégrable, avec prise en charge de WebSockets. [BSD]
- SNMP++ - API C++ prenant en charge SNMP v1/2c/v3. [Licence permissive personnalisée]
- tlse - Implémentation TLS 1.2/1.3 dans un seul fichier C, utilisant tomcrypt comme bibliothèque cryptographique. [BSD-2-Clause]
- TQUIC - Bibliothèque QUIC hautes performances, légère et multiplateforme, exposée en C et C++. [Apache2]
- Tufão - Framework web asynchrone C++ construit sur Qt. [LGPL2]
- uriparser - Bibliothèque stricte d’analyse et de gestion des URI, conforme à la RFC 3986. [BSD-3-Clause]
- uWebSockets - µWS est l’une des implémentations de serveurs WebSocket et HTTP les plus légères, efficaces et évolutives disponibles. [Zlib]
- UCall - Bibliothèque RPC hautes performances accélérée par SIMD sur io_uring. [Apache2]
- WAFer - Plateforme logicielle ultra-légère fondée sur C pour les applications réseau et côté serveur évolutives, comme node.js pour les programmeurs C. [GPL2]
- Wangle - Framework d’applications client/serveur permettant de créer des services C++ modernes asynchrones et pilotés par événements. [Apache-2.0]
- wdt - Bibliothèque intégrable (et outil en ligne de commande) conçue pour transférer des données entre deux systèmes aussi rapidement que possible via plusieurs connexions TCP. [BSD-3-Clause]
- WebSocket++ - Bibliothèque cliente/serveur WebSocket fondée sur C++/Boost.Asio. [BSD]
- wspp - Bibliothèque WebSocket moderne ws/wss, cliente et serveur, sans dépendances et dans un seul en-tête. [MIT]
- PcapPlusPlus - Framework multiplateforme C++ d’écoute réseau, d’analyse et de création de paquets. [Unlicense]
- ZeroMQ - Bibliothèque de communication asynchrone rapide et modulaire. [LGPL3/MPL2] site web
- Zyre - Mise en cluster de réseau local pour applications pair-à-pair. [MPL2]
- easyhttpcpp - Bibliothèque cliente HTTP multiplateforme de Sony, avec mise en cache. [MIT]
- GameNetworkingSockets - Messages fiables et non fiables sur UDP par Valve, avec API orientée connexion (comme TCP). [BSD-3-Clause]
- wepoll - Wrapper Windows d’epoll fondé sur Winsock. [BSD-2-Clause]
Office Open XML
Section intitulée « Office Open XML »Bibliothèques d’analyse et de manipulation des fichiers xlsx, pptx, docx, etc.
- DuckX - Bibliothèque C++ de création et de modification de fichiers Microsoft Word (.docx). [MIT]
- FreeXL - Bibliothèque open source d’extraction de données valides depuis des feuilles de calcul. [MPL/GPL-2/LGPL-2]
- libxls - Lecture de fichiers Excel binaires en C/C++. [BSD-2-Clause]
- libxlsxwriter - Bibliothèque C de création de fichiers Excel XLSX. [BSD-2-Clause] site web
- OpenXLSX - Bibliothèque C++ de lecture, écriture, création et modification de fichiers Microsoft Excel® (.xlsx). [BSD-3-Clause]
- SimpleXlsxWriter - Rédacteur de fichiers XLSX pour Microsoft Excel 2007 et versions ultérieures. [zlib]
- XLSX I/O - Bibliothèque C de lecture et d’écriture des fichiers .xlsx. [MIT]
Bibliothèques d’analyse et de manipulation de documents PDF.
- libharu - Bibliothèque logicielle libre, open source et multiplateforme de génération de PDF. [zlib]
- litePDF - Bibliothèque de création et de modification de documents PDF, utilisant les fonctions GDI via un contexte de périphérique pour dessiner le contenu des pages. [LGPL v3 et zlib]
- MuPDF - Visionneuse légère de PDF, XPS et livres électroniques. [AGPL/propriétaire]
- PDF-Writer - Bibliothèque C++ hautes performances de création, modification et analyse de fichiers PDF. [Apache-2.0] site web
- PDF4QT - Boîte à outils PDF avec bibliothèque de rendu et de modification, visionneuse et outils en ligne de commande. [MIT] site web
- pdfio - Bibliothèque C simple de lecture et d’écriture de fichiers PDF. [Apache-2] site web
- PDFium - Bibliothèque de génération et de rendu PDF. [BSD-3-Clause]
- PoDoFo - Bibliothèque de manipulation du format de fichier PDF. [LGPL]
- Poppler - Bibliothèque open source de rendu PDF multibackend, fondée sur le code de xpdf-3.0. [GPLv2/GPLv3]
- QPDF - Outil et bibliothèque C++ de transformations de fichiers PDF préservant leur contenu. [Apache-2.0] site web
- Xpdf - Visionneuse PDF et boîte à outils gratuites, avec notamment extraction de texte, conversion d’images et conversion HTML. [GPL v2/GPL v3]
- DynaPDF - Bibliothèque facile à utiliser de génération de PDF. [Commerciale]
Physique
Section intitulée « Physique »Moteurs de simulation dynamique
- Box2D - Moteur physique 2D pour les jeux. [Type BSD]
- Bullet - Moteur physique 3D pour les jeux. [zlib] site web
- Chipmunk - Bibliothèque physique 2D rapide et légère pour les jeux. [MIT] site web
- Jolt Physics - Bibliothèque de physique des corps rigides et de détection des collisions adaptée au multicœur. [MIT]
- Kratos - Framework de création de logiciels de simulation parallèles et multidisciplinaires, axé sur la modularité, l’extensibilité et les performances. [BSD] site web
- LiquidFun - Moteur physique 2D pour les jeux. [Type BSD]
- Newton Dynamics - Solution intégrée de simulation en temps réel d’environnements physiques. [zlib]
- ODE - Open Dynamics Engine, bibliothèque open source hautes performances de simulation de la dynamique des corps rigides. [BSD et LGPL]
- ofxBox2d - Wrapper openFrameworks pour Box2D. [Type BSD]
- PhysX - SDK middleware open source de moteur physique temps réel, développé par Nvidia dans le cadre de la suite Nvidia GameWorks. [BSD-3-Clause]
- PlayRho - Moteur et bibliothèque de physique interactive. [Zlib]
- Project Chrono - Moteur open source de simulation multiphysique. [BSD-3-Clause] site web
- Quantum++ - Bibliothèque moderne de calcul quantique en C++11. [MIT]
- QuarkPhysics - Moteur physique 2D des corps déformables et rigides. [MIT]
- Simbody - Bibliothèque C++ hautes performances de dynamique/physique multicorps pour simuler des systèmes biomécaniques et mécaniques articulés, tels que véhicules, robots et squelette humain. [Apache2]
- SOFA - Framework open source de simulation temps réel, avec un accent sur la simulation médicale. [LGPL] site web
- tungsten - Moteur de rendu C++ hautes performances fondé sur la physique. [zlib]
Réflexion
Section intitulée « Réflexion »- config-loader - Framework de réflexion statique C++17, de l’analyse des fichiers de configuration à la structure de données native. [MIT]
- Better Enums - Énumérations réflexives (conversion en chaîne, itération), dans un seul en-tête. [BSD] site web
- clReflect - Réflexion C++ à l’aide de clang. [MIT]
- CPFG - Bibliothèque C++03 de réflexion, de callbacks et de liaison de scripts. [Apache2]
- CPP-Reflection - Réflexion C++ à l’aide de clang. [MIT]
- Easy Reflection - Solution simple et rapide de réflexion et de sérialisation, à la manière de Rust, Java ou Go. [Apache]
- Enchantum - Bibliothèque C++17 moderne à en-tête unique de réflexion des énumérations à la compilation. [MIT]
- Magic Enum - Bibliothèque C++17 à en-tête unique assurant la réflexion statique des énumérations (conversion chaîne/valeur, itération), pour tout type d’énumération sans macro ni code répétitif. [MIT]
- magic_get - Méthodes de style std::tuple pour les types définis par l’utilisateur, sans macro ni code répétitif. [Boost]
- meta - Système C++ de réflexion à l’exécution à en-tête unique, non intrusif et sans macro. [MIT]
- Nameof - Bibliothèque C++17 à en-tête unique fournissant macros et fonctions nameof pour obtenir le nom simple des variables, types, fonctions, macros et énumérations. [MIT]
- REFLECT - Bibliothèque C++20 de réflexion statique. [MIT]
- reflect-cpp - Sérialisation par réflexion, avec notamment la récupération automatique des noms de champs des structures. [MIT]
- RTTR - Bibliothèque C++11 de réflexion. [MIT] site web
- simple_enum - Bibliothèque rapide, intuitive et sûre en matière de types, de prise en charge des énumérations C++. [BSL-1.0] site web
- TSMP - Bibliothèque C++20 de réflexion statique, sans intrusion ni macro. Elle utilise libclang pour extraire les données de réflexion du code source et les rend accessibles par spécialisation de modèles. [MIT]
- visit_struct - Petite bibliothèque de réflexion des champs de structures en C++. [Boost]
- Refureku - Bibliothèque C++17 de réflexion à l’exécution et de génération de code. [MIT]
Expressions régulières
Section intitulée « Expressions régulières »- CppVerbalExpressions - Les expressions régulières en C++ en toute simplicité. [MIT]
- CTRE - Comparateur d’expressions régulières PCRE (presque) compatible à la compilation. [MIT]
- Hyperscan - Bibliothèque Intel hautes performances de correspondance de plusieurs expressions régulières, simultanément et en grand nombre (jusqu’à plusieurs dizaines de milliers), généralement utilisée dans une pile DPI. [BSD]
- Oniguruma - Bibliothèque moderne et flexible d’expressions régulières prenant en charge divers encodages de caractères. [BSD]
- PCRE - Bibliothèque C d’expressions régulières inspirée des fonctionnalités de Perl. [BSD]
- PCRE2 - Ensemble de fonctions C implémentant la recherche de motifs par expressions régulières. [BSD] site web
- PIRE - Bibliothèque Yandex d’expressions régulières incompatibles avec Perl. Peut être très rapide (plus de 400 Mo/s). [LPGL v3.0]
- RE2 - Bibliothèque logicielle d’expressions régulières utilisant une machine à états finis fondée sur la théorie des automates. [BSD-3-Clause]
- SLRE - Moteur d’expressions régulières ultra-léger pour C/C++. [GPLv2/propriétaire]
- sregex - Moteur de regex compatible Perl, fondé sur NFA/DFA sans retour arrière, pour faire correspondre de grands flux de données. [BSD]
- SRELL - Bibliothèque C++ de modèles d’expressions régulières prenant en charge Unicode. [BSD]
- TRE - Bibliothèque de correspondance approximative par regex et outil en ligne de commande agrep. [BSD-2-Clause]
- Vectorscan - Fork portable de la bibliothèque hautes performances de correspondance d’expressions régulières. [BSD-3-Clause]
- Pawn.Regex - Plugin Pawn prenant en charge les expressions régulières au moyen de std::regex C++11. [MIT]
Robotique
Section intitulée « Robotique »- FusionCore - Bibliothèque ROS 2 de fusion de capteurs par UKF, combinant GPS, IMU et odométrie des roues avec bruit adaptatif et rejet des valeurs aberrantes pour une localisation extérieure robuste. [Apache2]
- MOOS-IvP - Ensemble de modules C++ open source fournissant l’autonomie aux plateformes robotiques, en particulier aux véhicules marins autonomes.
- MRPT - Boîte à outils de programmation de robots mobiles. [BSD]
- PCL - Point Cloud Library est un projet open source autonome et de grande ampleur pour le traitement d’images 2D/3D et de nuages de points. [BSD] site web
- Robotics Library (RL) - Bibliothèque C++ autonome de cinématique robotique, planification des mouvements et contrôle. [BSD]
- RobWork - Collection de bibliothèques C++ de simulation et de contrôle des systèmes robotiques. [Apache2] site web
- ROS - Robot Operating System fournit des bibliothèques et outils aidant les développeurs à créer des applications robotiques. [BSD]
- Ruckig - Génération de mouvements en temps réel pour les robots et machines. [MIT] site web
- YARP (Yet Another Robot Platform) - Bibliothèque et boîte à outils d’interfaces de communication et de périphériques. [BSD-3-Clause] site web
- SPICE Toolkit - Bibliothèque et boîte à outils de calcul des informations géométriques utilisées pour planifier et analyser les observations scientifiques de sondes spatiales robotisées. [MIT] site web
Calcul scientifique
Section intitulée « Calcul scientifique »- AMGCL - Bibliothèque C++ à en-tête unique de résolution de grands systèmes linéaires creux par multigrille algébrique. [MIT]
- Au - Bibliothèque d’unités physiques compatible C++14, sans dépendances et disponible en fichier unique. Privilégie la sécurité, l’accessibilité, les performances et l’expérience développeur. [Apache 2.0] site web
- FFTW - Bibliothèque C de calcul de la transformée de Fourier discrète en une ou plusieurs dimensions. [GPL]
- GSL - Bibliothèque scientifique GNU. [GPL]
- preCICE - Bibliothèque de couplage pour simulations multiphysiques partitionnées (interaction fluide-structure, transfert de chaleur conjugué, etc.). [LGPL] site web
- TileDB - SGBD rapide de tableaux multidimensionnels denses et creux. [MIT] site web
- Trilinos - Solveurs d’équations aux dérivées partielles hautes performances. [BSD]
- Torch - Framework de calcul scientifique prenant largement en charge les algorithmes d’apprentissage automatique et privilégiant les GPU. [BSD-3-Clause] site web
- volesti - Échantillonnage de grande dimension à partir de distributions tronquées, optimisation convexe et calcul de volumes.
Scripting
Section intitulée « Scripting »- AngelScript - Langage de script interprété/compilé orienté jeu. [zlib]
- Boost.Python - Bibliothèque C++ assurant une interopérabilité fluide entre C++ et le langage Python. [Boost] site web
- cppimport - Importez directement des fichiers C++ depuis Python ! [MIT]
- CppSharp - Outils et bibliothèques reliant les API C/C++ aux langages de haut niveau. [MIT]
- ChaiScript - Langage de script embarqué en C++, facile à utiliser. [BSD] site web
- ctypes.sh - Interface de fonctions étrangères pour bash. [MIT]
- Cython - Compilateur statique optimisant à la fois Python et le langage étendu Cython (fondé sur Pyrex). Il rend l’écriture d’extensions C pour Python aussi facile que Python lui-même. [Apache] site web
- djinni - Outil de génération de déclarations de types interlangages et de liaisons d’interfaces. [Apache2]
- Duktape - Moteur JavaScript intégrable à faible empreinte. [MIT] site web
- JavaCpp - Le chaînon manquant entre Java et le C++ natif. [Apache2]
- JerryScript - Moteur JavaScript ultra-léger pour l’Internet des objets. [Apache-2.0] site web
- libffi - Bibliothèque portable d’interface de fonctions étrangères. [MIT] site web
- Lua - Moteur de script minimal et rapide pour les fichiers de configuration et les scripts applicatifs simples. [MIT]
- LuaBridge - Bibliothèque légère et sans dépendances de liaison entre Lua et C++. [MIT]
- LuaBridge3 - Bibliothèque légère et sans dépendances de liaison de Lua, LuaJIT, Luau et Ravi à C++. [MIT]
- luacxx - API C++11 de création de liaisons Lua. [MIT]
- Luau - Langage de script intégrable, rapide, compact, sûr et progressivement typé, dérivé de Lua. [MIT] site web
- MicroQuickJS - MicroQuickJS (aussi appelé MQuickJS) est un moteur JavaScript destiné aux systèmes embarqués. [MIT]
- MiniScript - Langage de script moderne, élégant, facile à apprendre et facile à intégrer aux projets C# ou C++. [MIT]
- nanobind - Liaisons C++/Python minuscules et efficaces. [BSD-3-Clause]
- nbind - En-têtes magiques rendant les bibliothèques C++ accessibles depuis JavaScript. [MIT]
- PHP-CPP - Bibliothèque de création d’extensions PHP avec C++. [Apache2] site web
- pocketpy - Interpréteur Python C++17 à en-tête unique pour les scripts de jeu. [MIT] site web
- pybind11 - Interopérabilité fluide entre C++11 et Python. [BSD]
- QuickJS - Petit moteur JavaScript intégrable. [MIT]
- SIP - Générateur de liaisons C ou C++ pour Python 2 et 3. [GPL]
- sol2 - Wrapper d’API C++ ↔ Lua doté de fonctionnalités avancées et d’excellentes performances. [MIT]
- SWIG - Générateur de wrappers/interfaces reliant le code C++ à JavaScript, Perl, PHP, Python, Tcl et Ruby. [GPL/sortie sans licence] site web
- txiki.js - Minuscule environnement d’exécution JavaScript. [MIT]
- V7 - Moteur JavaScript embarqué. [GPL2]
- V8 - Moteur JavaScript rapide de Google, intégrable à toute application C++. [BSD]
- v8pp - Bibliothèque à en-tête unique exposant les classes et fonctions C++ dans V8 afin de les utiliser en JavaScript. [BOOST] site web
- ChakraCore - Moteur JavaScript de Microsoft intégrable à nodejs. [MIT]
- MuJS - Interpréteur JavaScript intégrable en C. [ISC] site web
- hobbes - Langage et compilateur JIT embarqué de Morgan Stanley. [Apache-2.0]
Sérialisation
Section intitulée « Sérialisation »- BitSerializer - Bibliothèque de sérialisation multiformat (JSON, XML, YAML, CSV, MsgPack). [MIT]
- Bitsery - Bibliothèque C++ de sérialisation binaire à en-tête unique. [MIT]
- Bond - Framework open source et multiplateforme de traitement de données à schéma. [MIT]
- Boost.Serialization - Bibliothèque Boost de sérialisation. [Boost] site web
- Cap’n Proto - Format d’échange de données rapide et système RPC fondé sur les capacités. [MIT] site web
- cereal - Bibliothèque C++11 de sérialisation. [BSD]
- cista - Bibliothèque C++17 de sérialisation/désérialisation hautes performances sans copie. [MIT]
- cppcodec - Bibliothèque C++11 à en-tête unique d’encodage/décodage base64, base32 et hexadécimal, avec API cohérente et flexible. [MIT]
- FastBinaryEncoding - Solution universelle et ultra-rapide de sérialisation binaire pour C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby et Swift. [MIT]
- FlatBuffers - Bibliothèque de sérialisation économe en mémoire. [Apache2]
- Kaitai Struct - Langage déclaratif décrivant diverses structures de données binaires et compilateur générant le code C++ de leur analyseur. [GPLv3+][MIT][Apache2]
- iguana - Moteur de sérialisation moderne, universel et facile à utiliser, développé en C++20 et C++17. [Apache2]
- MessagePack - Format efficace de sérialisation binaire « comme JSON » pour C et C++. [Apache2] site web
- mrpt-serialization - Sérialisation versionnée en formats binaires ou textuels. [BSD] site web
- nanopb - Implémentation de Protocol Buffers en ANSI C, de petite taille. [Zlib]
- protobuf - Protocol Buffers, format d’échange de données de Google. [BSD]
- protobuf-c - Implémentation de Protocol Buffers en C. [BSD]
- Protocol Puffers - Petite bibliothèque C++20 de sérialisation/désérialisation à en-tête unique, fortement fondée sur les modèles et compatible protobuf. [Apache-2.0]
- SimpleBinaryEncoding - Encodage et décodage de messages applicatifs au format binaire pour les applications à faible latence. [Apache2]
- upb - Petite implémentation de protobuf en C. [BSD]
- Wirehair - Code fontaine O(N) pour les grandes quantités de données. [BSD-3-Clause]
- YAS - Bibliothèque de sérialisation très rapide « Yet Another Serialization », prenant en charge les formats binaire, texte et JSON. [Boost]
- zpp_bits - En fait, la bibliothèque moderne de sérialisation la plus rapide. Voir cette vidéo.
- fbthrift - Branche Facebook d’Apache Thrift, comprenant une bibliothèque de sérialisation et un framework RPC. [Apache-2.0]
Port série
Section intitulée « Port série »- Asio - Asio inclut des classes permettant de créer et manipuler des ports série de manière portable. [Boost] site web
- Boost.Asio - Boost.Asio inclut des classes permettant de créer et manipuler des ports série de manière portable. [Boost] site web
- CSerialPort - Bibliothèque légère et multiplateforme de ports série. [LGPL3]
- Libserial - Programmation des ports série en C++. [BSD-3-Clause]
- Serial Communication Library - Bibliothèque multiplateforme de ports série écrite en C++. [MIT] site web
- cpp-sort - Algorithmes de tri et outils associés pour C++14. [MIT]
- pdqsort - Quicksort qui élimine les motifs défavorables. [zlib]
- Timsort - Fonction de tri stable à modèles, plus performante que les tris fondés sur quicksort, dont std::sort, sur des données inversées ou partiellement triées. [MIT]
- Indiesort - Wrapper de tri permettant d’utiliser std::sort (et d’autres tris à accès aléatoire) sur des conteneurs sans accès aléatoire, et améliorant aussi le tri de grands types ou de types non trivialement copiables dans les conteneurs et tableaux à accès aléatoire. [zLib] site web
- x86-simd-sort - Bibliothèque de modèles C++ d’algorithmes de tri SIMD hautes performances. [BSD-3-Clause]
- libvpx - SDK du codec VP8/VP9. [BSD]
- FFmpeg - Solution complète et multiplateforme d’enregistrement, de conversion et de diffusion audio et vidéo. [LGPL2/GPL2]
- avcpp - Wrapper C++ moderne de FFmpeg. [MIT]
- libde265 - Implémentation open source du codec vidéo H.265. [LGPL] site web
- x265 - Implémentation open source du codec vidéo H.265. [GPL2] site web
- OpenH264 - Codec H.264 open source. [BSD] site web
- Theora - Format libre et ouvert de compression vidéo. [BSD]
- Vireo - Bibliothèque légère et polyvalente de traitement vidéo par Twitter. [MIT]
- libuvc - Bibliothèque multiplateforme pour périphériques vidéo USB. [BSD]
Machines virtuelles
Section intitulée « Machines virtuelles »- CarpVM - Machine virtuelle C « intéressante ». Voyons ce que cela donne. [GPLv3]
- MicroPython - Vise à porter une implémentation de Python 3.x sur un microcontrôleur. [MIT]
- TinyVM - Machine virtuelle compacte, rapide et légère, écrite en ANSI C pur. [MIT]
Frameworks d’applications web
Section intitulée « Frameworks d’applications web »- aeronet - Framework modulaire de microservices C++ HTTP/1.1, HTTP/2 et WebSocket hautes performances, axé sur les performances et l’évolutivité. [MIT]
- Civetweb - Serveur web C/C++ puissant et intégrable, facile à utiliser, avec prise en charge facultative de CGI, SSL et Lua. [MIT]
- C++ REST SDK - Projet Microsoft de communication client-serveur cloud en code natif, avec conception moderne d’API C++ asynchrones. [MIT]
- CppCMS - Framework libre et hautes performances de développement web (pas un CMS). [LGPLv3]
- Crow - Microframework C++ d’exécution de services web, avec routage semblable à celui de Flask pour Python. [BSD] site web
- Cutelyst - Framework web C++ fondé sur Qt, reprenant l’approche simple de Catalyst (Perl). [BSD-3-Clause] site web
- Drogon - Framework d’applications HTTP hautes performances fondé sur C++17/20. [MIT]
- C++ wfrest - Framework web C++ pour API REST. [Apache2]
- facil.io - Framework web C hautes performances et piloté par événements, prenant en charge HTTP, WebSockets, SSE et plus encore. [MIT] site web
- Kore - Serveur web/framework C ultra-rapide et flexible pour les applications web. [ISC]
- libOnion - Bibliothèque légère facilitant la création de serveurs web en C. [LGPLv3]
- lwan - Serveur HTTP expérimental, évolutif et hautes performances. [GPL2]
- Mach - Framework web C++20 moderne privilégiant les performances, la sûreté des types et l’expérience développeur. [MIT] site web.
- oat++ - Framework léger et sans dépendances de création de services web hautes performances. [Apache-2.0] site web
- Pistache - Framework REST C++ écrit en C++11 pur, sans dépendance externe. [Apache2]
- QDjango - Framework web C++ fondé sur la bibliothèque Qt. Dans la mesure du possible, il reprend l’API de Django, d’où son nom. [LGPL]
- TreeFrog Framework - Framework web full stack haut débit fondé sur C++ et Qt, prenant en charge HTTP et WebSocket (avec mapping objet-relationnel). [BSD] site web
- userver - Framework C++17 asynchrone doté de nombreuses abstractions et pilotes de bases de données, pour créer facilement et rapidement des microservices, services et utilitaires efficaces. [Apache-2.0] site web
- Wt - Bibliothèque C++ de développement d’applications web. [GPL/propriétaire]
- httpserver.h - Bibliothèque serveur HTTP C à en-tête unique. [MIT]
- libhttp - Bibliothèque HTTP et HTTPS multiplateforme en C/C++. [MIT]
XML, c’est nul. Vraiment. Il n’y a aucune excuse. XML est pénible à analyser pour les humains et c’est une catastrophe même pour les ordinateurs. Cette saleté n’a aucune raison d’exister. — Linus Torvalds
- Boost.PropertyTree - Analyseur/générateur d’arborescences de propriétés pour fichiers XML/JSON/INI/Info. [Boost] site web
- Expat - Bibliothèque d’analyse XML écrite en C. [MIT]
- Libxml2 - Analyseur et boîte à outils XML C de GNOME. [MIT]
- libxml++ - Analyseur XML pour C++. [LGPL2]
- Mini-XML - Petite bibliothèque d’analyse XML écrite en ANSI C. [LGPL2 avec exceptions]
- PugiXML - Analyseur XML C++ simple, léger et rapide, prenant en charge XPath. [MIT]
- RapidXml - Tentative de créer l’analyseur XML le plus rapide possible, tout en préservant l’ergonomie, la portabilité et une compatibilité raisonnable avec le W3C. [Boost]
- TinyXML - Analyseur XML C++ simple, compact et minimal, facile à intégrer à d’autres programmes. [zlib]
- TinyXML2 - Analyseur XML C++ simple, compact et efficace, facile à intégrer à d’autres programmes. [zlib]
- TinyXML++ - Interface entièrement nouvelle de TinyXML exploitant de nombreuses forces du C++ : modèles, exceptions et bien meilleure gestion des erreurs. [MIT]
- Xalan C - Bibliothèque et programme en ligne de commande transformant les documents XML au moyen de feuilles de style conformes à la norme XSLT 1.0. [Apache-2.0] site web
- Xerces-C++ - Analyseur XML validant, écrit dans un sous-ensemble portable du C++. [Apache2]
- fkYAML - Bibliothèque YAML C++ à en-tête unique. [MIT]
- LibCYAML - Bibliothèque C de lecture et d’écriture YAML. [ISC]
- libfyaml - Analyseur et rédacteur élégant de YAML 1.2 et JSON. [MIT]
- LibYAML - Bibliothèque C d’analyse et d’émission YAML. [MIT] site web
- mini-yaml - Sérialiseur/désérialiseur YAML 1.0 C++11 dans un seul en-tête. [MIT]
- rapidyaml - Bibliothèque C++ rapide d’analyse et d’émission YAML. [MIT]
- yaml-cpp - Analyseur et émetteur YAML en C++. [MIT]
Bibliothèques ou outils utiles qui ne correspondent pas aux catégories ci-dessus ou ne sont pas encore catégorisés
- access_profiler - Outil de comptage des accès aux variables membres dans les programmes C++. [GPL3]
- American fuzzy lop aussi appelé afl-fuzz - Outil de fuzzing déjanté qui découvre automatiquement les bogues lorsqu’on lui fournit du temps et un exemple d’entrée minimal. [Apache2]
- Argon2 - Fonction de hachage de mots de passe Argon2, lauréate du PHC. [CC0/Apache2]
- AsmJit - Génération de code machine à faible latence. [Zlib] site web
- Better String - Alternative plus fonctionnelle à la bibliothèque de chaînes C, évitant les problèmes de dépassement de tampon. Comprend aussi un wrapper C++. [BSD, GPL2]
- Boost.Signals2 - Implémentation d’un système géré de signaux et de slots. [Boost] site web
- casacore - Ensemble de bibliothèques fondamentales C++ dérivées de aips++. [LGPL]
- CCTZ - Bibliothèque C++ de conversion entre temps absolu et temps civil à l’aide des règles de fuseaux horaires. [Apache-2.0]
- Cheat Sheets of HackingCPP - Fiches pratiques et infographies utiles sur les algorithmes, vues, conteneurs, nombres aléatoires, etc.
- Concord - Bibliothèque wrapper de l’API Discord écrite en C. [MIT] site web
- CPPItertools - Extensions aux boucles for basées sur les plages, inspirées des fonctions intégrées de Python et de la bibliothèque itertools. [BSD-2-Clause]
- CPP-JWT - Bibliothèque C++ de jetons web JSON. [MIT]
- cpp-lazy - Bibliothèque d’évaluation paresseuse rapide et facile pour C++11/14/17/20. [MIT]
- CRCpp - Bibliothèque CRC C++ rapide et facile à utiliser. [BSD-3-Clause]
- cxx-prettyprint - Bibliothèque d’affichage formaté des conteneurs C++. [Boost]
- date - Bibliothèque de dates et d’heures fondée sur l’en-tête
de C++11/14/17. [MIT] site web - D++ (DPP) - Bibliothèque C++ légère, hautes performances et évolutive de création de bots Discord. [Apache2] site web
- Dragonbox - Implémentation de référence d’un nouvel algorithme C++ de conversion des nombres flottants en chaînes. [Apache2/BSL-1.0]
- DynaMix - Bibliothèque permettant de composer et modifier des objets à l’exécution. [MIT]
- emio - Bibliothèque sûre et rapide d’E/S de caractères, de haut et bas niveau. [MIT]
- faker-cxx - Bibliothèque Faker C++20 générant des données factices mais réalistes pour les tests et le développement. [MIT]
- fast_float - from_chars C++ rapide et exact, 4 à 10 fois plus rapide que strtod, intégré à GCC 12, Chromium, Redis, WebKit/Safari. [Apache2/BSL-1.0/MIT]
- FastFormat - Formatage C++ rapide et sûr, inspiré de log4j et Pantheios. [BSD simplifiée]
- fast_io - Entrées/sorties C++20 nettement plus rapides. [MIT]
- fccf - Outil en ligne de commande recherchant récursivement dans un répertoire le code source C/C++ correspondant à une chaîne donnée. [MIT]
- ffc.h - Analyse accélérée des flottants/doubles C99 dans un seul en-tête, portage de fast_float. [Apache-2.0/BSL-1.0/MIT]
- {fmt} :zap: - Bibliothèque C++ de formatage compacte, sûre et rapide. [BSD simplifiée] site web
- gcc-poison - Fichier d’en-tête simple permettant aux développeurs d’interdire les fonctions C/C++ dangereuses dans les applications.
- Gear-Lib - Collection de bibliothèques fondamentales en C POSIX pour le développement embarqué et les services réseau. [MIT]
- happly - Analyseur C++ du format de fichier PLY à en-tête unique. Analysez les fichiers .ply en toute simplicité ! [MIT]
- hedley - En-tête C/C++ conçu pour gommer certains désagréments propres aux plateformes. site web
- Hexi - Bibliothèque C++ légère, à en-tête unique, de flux binaires et de sérialisation. [Apache-2.0/MIT]
- HighwayHash - Fonctions de hachage rapides et robustes : SipHash/HighwayHash. [Apache-2.0]
- inja - Moteur de modèles pour le C++ moderne. [MIT]
- Jinja2С++ - Implémentation d’un moteur de modèles presque entièrement conforme. site web
- jwt-cpp - Bibliothèque C++ à en-tête unique de création et validation de jetons web JSON. [MIT]
- Kangaru - Conteneur d’injection de dépendances pour C++11 et C++14. [MIT]
- Klib - Implémentations compactes et légères d’algorithmes et structures de données courants. [MIT]
- KOMIHASH - Fonction de hachage très rapide et de haute qualité, prenant en charge le hachage incrémentiel discret et en flux. [MIT]
- libcpuid - Petite bibliothèque C de détection des processeurs x86 et d’extraction de leurs fonctionnalités. [BSD]
- libenvpp - Bibliothèque C++ moderne d’analyse des variables d’environnement avec sûreté des types. [Apache-2.0]
- libevil - Gestionnaire de licences maléfique. [GPLv3]
- libnih - Bibliothèque légère de fonctions et structures C. [GPL2.1]
- libONVIF - Encore une bibliothèque ONVIF. [GPL-3.0]
- libpopcnt - Bibliothèque C/C++ rapide de comptage des bits à 1. [BSD-2-Clause]
- libsigc++ - Système de callbacks à typage sûr pour le C++ standard. [LGPL] site web
- libusb - Bibliothèque USB universelle permettant un accès portable aux périphériques USB. [LGPL2]
- Mach7 - Bibliothèque C++ de filtrage par motifs. [BSD]
- minja.hpp - Moteur de modèles Jinja C++ minimaliste pour les modèles de conversation des LLM. [MIT]
- mio - Bibliothèque C++11 multiplateforme à en-tête unique d’E/S de fichiers mappés en mémoire. [MIT]
- MPark.Variant -
std::variantde C++17 pour C++11/14/17. [BSL-1.0] - MPH - Bibliothèque C++20 minimaliste de hachage parfait statique. [MIT]
- Patternia - Fournit le filtrage par motifs au C++ moderne. [MIT] site web
- PEGTL - Bibliothèque de modèles de grammaires d’expressions d’analyse (PEG). [MIT]
- Pipes - Pipelines permettant un code expressif sur les collections C++. [MIT]
- pprint - Afficheur formaté pour le C++ moderne. [MIT]
- pspsdk - SDK open source de développement amateur pour PSP. [BSD/GNU GPL3]
- QtVerbalExpressions - Bibliothèque Qt fondée sur la bibliothèque C++ VerbalExpressions. [MIT]
- rain - Hachage non cryptographique 128 et 256 bits le plus rapide, passant tous les tests et tenant en moins de 140 lignes de code source. [Apache-2.0]
- RapidFuzz - Comparaison approximative rapide de chaînes en C++ à l’aide de la distance de Levenshtein. [MIT] site web
- rapidhash - Algorithme de hachage très rapide, de haute qualité et indépendant de la plateforme. [BSD-2-Clause]
- Reaction - Framework léger de programmation réactive à en-tête unique exploitant les fonctionnalités du C++20 moderne pour créer des applications efficaces de flux de données. [MIT]
- reproc - Bibliothèque de processus multiplateforme (C99/C++11). [MIT]
- SafetyHook - Bibliothèque C++23 de hooks de procédures. [BSL-1.0]
- scnlib - scanf pour le C++ moderne. [Apache-2.0] site web
- Scintilla - Composant libre d’édition de code source. [MIT]
- SDS - Bibliothèque de chaînes dynamiques simples en C. [BSD]
- semver.c - Analyseur et formateur semver en ANSI C. [MIT]
- sigslot - Bibliothèque C++ de signaux et slots. [Domaine public]
- SIMD Everywhere - Implémentations de jeux d’instructions SIMD pour les systèmes qui ne les prennent pas nativement en charge. [MIT]
- SLJIT - Compilateur JIT de bas niveau indépendant de la plateforme. [BSD] site web
- palacaze/sigslot - Implémentation simple, à en-tête unique, des signaux-slots en C++14. [MIT]
- simdzone - Analyseur de zones DNS rapide et conforme aux normes. [BSD-3-Clause]
- SimpleSignal - Signaux C++11 hautes performances. [Domaine public]
- single_file_libs - Bibliothèques open source C/C++ avec un minimum de dépendances. [Diverses]
- Spicy - Générateur d’analyseurs C++ pour disséquer protocoles et fichiers. [BSD] site web
- Stage - Simulateur de robot mobile. [GPL2]
- stb :zap: - Ensemble de bibliothèques C/C++ en fichier unique. [Domaine public]
- stdman - Outil analysant les fichiers HTML archivés de cppreference et générant des pages de manuel au format groff pour les systèmes Unix. [MIT]
- StringZilla - Godzilla des bibliothèques de chaînes : découpe, trie et mélange de grands jeux de données textuels plus vite qu’il ne faut pour dire « Tokyo Tower ». [Apache-2.0]
- StrTk - Bibliothèque C++ de routines hautes performances de traitement des chaînes. [MIT]
- tgbotxx - Bibliothèque C++ de bots Telegram. [MIT]
- The RaBitQ Library - Bibliothèque légère de l’algorithme RaBitQ. [Apache-2.0] site web
- tiny::optional - Remplacement de std::optional évitant le gaspillage inutile de mémoire. [BSL-1.0]
- Tulip Indicators - Bibliothèque C de plus de 100 indicateurs d’analyse technique financière. [LGPL]
- ub-canaries - Collection de programmes C/C++ cherchant à pousser les compilateurs à exploiter les comportements indéfinis.
- value-category-cheatsheet Fiche PDF sur les lvalues, rvalues et notions apparentées. [Copyleft Jank]
- VarTypes - Framework orienté objet riche en fonctionnalités de gestion de variables en C++/Qt4. [LGPL]
- Wildcards - Bibliothèque simple de modèles C++ à en-tête unique implémentant la correspondance par jokers. [BSL-1.0]
- xjb - Algorithme rapide de conversion flottant-chaîne. [Apache-2.0]
- xxHash - Algorithme de hachage non cryptographique extrêmement rapide. [BSD-2-Clause] site web
- xxhash_cpp - Portage de la bibliothèque xxhash en C++17. [BSD-2-Clause]
- ZBar - Bibliothèque de lecture de codes-barres dans les photos, images et flux vidéo, renvoyant les valeurs détectées. [LGPL2]
- ZXing - Bibliothèque open source multiformat de traitement d’images de codes-barres 1D/2D, implémentée en Java et portée vers d’autres langages. [Apache]
- spy - Bibliothèque constexpr C++17 de détection à la compilation du système d’exploitation, compilateur, architecture et SIMD. [MIT]
- licensepp - Bibliothèque de gestion des licences logicielles pour les projets C++. [Apache-2.0]
- tinydir - Lecteur C léger, portable et facile à intégrer de répertoires et fichiers. [BSD-2-Clause]
- Cello - Programmation de plus haut niveau en C, avec structures de données génériques et polymorphisme. [BSD-2-Clause] site web
- dyno - Bibliothèque C++ de polymorphisme à l’exécution avec sémantique de valeur. [Boost]
- PolyHook - Bibliothèque C++ de hooks x86/x64. [MIT]
- Verdigris - Bibliothèque à en-tête unique permettant d’utiliser Qt sans moc. [MIT]
- Flicks - Unité de temps définie par Facebook/Oculus pour représenter précisément les fréquences d’images courantes. [BSD]
- Linq - Fournit une syntaxe LINQ de compréhension de listes en C++. [Boost]
- libcorrect - Bibliothèque C de codes convolutifs et de correction d’erreurs Reed-Solomon. [BSD-3-Clause]
- libfsm - Bibliothèque de création et d’exécution de machines à états finis, incluant regex et glob. [BSD-2-Clause]
- origin - Bibliothèque C++ de concepts, diagnostics et autres utilitaires fondamentaux.
Logiciels
Section intitulée « Logiciels »Logiciels de création d’un environnement de développement.
Compilateurs
Section intitulée « Compilateurs »Liste de compilateurs C ou C++
- 8cc - Petit compilateur C.
- c - Compile et exécute des « scripts » C en une seule commande ! [MIT]
- Clang - Compilateur C pour LLVM, prenant en charge C++11/14/1z et C11, développé par l’équipe LLVM. [NCSA]
- Fil-C - Implémentation de C et C++ sûre en mémoire et fanatiquement compatible.
- GCC - GNU Compiler Collection, prenant en charge C++11/14/1z, C11 et OpenMP. [GNU GPL3]
- PCC - Très ancien compilateur C prenant en charge C99.
- AMD C++ Compiler - Développé par AMD.
- Intel C++ Compiler - Développé par Intel.
- LLVM - Collection de technologies modulaires et réutilisables pour les compilateurs et chaînes d’outils.
- Microsoft Visual C++ - MSVC, développé par Microsoft.
- Open WatCom - Compilateurs croisés et outils Watcom C, C++ et Fortran. [Licence publique Sybase Open Watcom]
- Oracle Solaris Studio - Compilateur C, C++ et Fortran pour SPARC et x86, prenant en charge C++11, disponible sous Linux et Solaris. [Licence développeur OTN]
- TCC - Tiny C Compiler. [LGPL]
- sierra - Langage de programmation orienté CISC, axé sur la création de programmes maintenables.
- movfuscator - Compilateur C à instruction unique, compilant les programmes uniquement en instructions mov. [MIT]
Compilateurs en ligne
Section intitulée « Compilateurs en ligne »Liste de compilateurs C ou C++ en ligne
- codechef - Compilateur en ligne simple de CodeChef.
- coliru - Compilateur/shell en ligne prenant en charge plusieurs compilateurs C++.
- Compiler Explorer - Compilateur interactif pouvant afficher le code assembleur.
- CompileOnline - Compile et exécute du C++ en ligne sous Linux.
- Ideone - Compilateur et outil de débogage en ligne permettant de compiler et exécuter du code dans plus de 60 langages.
- OneCompiler - Compilateur en ligne prenant en charge plus de 70 langages de programmation et systèmes de bases de données.
- Programiz - Compilateur en ligne pour apprenants et développeurs.
- repl.it - Outils et plateformes puissants mais simples pour les enseignants, apprenants et développeurs.
- Rextester - Compilateur en ligne proposant plusieurs compilateurs (Clang, GCC, MSVC) et éditeurs.
- Try It Online - TIO est une famille d’interpréteurs en ligne pour une liste en constante expansion de langages pratiques et ludiques.
- Wandbox - Compilateur Clang/GCC en ligne avec Boost disponible.
- paiza.io - Compilateur C/C++ en ligne avec prise en charge de plusieurs fichiers, intégration GitHub (gist) et édition collaborative.
- InterviewBit - Compilateur C++ en ligne simple et facile à utiliser.
Débogueurs
Section intitulée « Débogueurs »Liste de débogueurs C ou C++
- Comparison of debuggers - Liste de débogueurs tirée de Wikipédia.
- GDB - Débogueur GNU.
- LLDB - Débogueur LLDB.
- Metashell - Shell interactif de métaprogrammation par modèles intégrant le métadébogueur MDB.
- Valgrind - Outil de débogage mémoire, de détection des fuites mémoire et de profilage.
- x64dbg - Débogueur x64/x32 open source pour Windows.
Environnements de développement intégrés
Section intitulée « Environnements de développement intégrés »Liste d’IDE pour C ou C++.
- Anjuta DevStudio - IDE de GNOME. [GPL3]
- AppCode - IDE de développement Objective-C, C, C++ et JavaScript, fondé sur la plateforme IntelliJ IDEA de JetBrains.
- Cevelop - IDE C et C++ multiplateforme fondé sur Eclipse CDT et complété par des plug-ins.
- CLion - IDE C et C++ multiplateforme de JetBrains.
- Code::Blocks - IDE libre pour C, C++ et Fortran.
- CodeLite - Autre IDE C et C++ libre et multiplateforme. [GPL2 avec exception pour les plug-ins]
- Dev-C++ - IDE portable pour C/C++/C++11.
- Eclipse CDT - IDE C et C++ complet fondé sur la plateforme Eclipse.
- Embarcadero Dev-CPP - Fork de Dev-C++ préinstallé avec de nouveaux thèmes et des compilateurs modernes. [GPLv2] site web
- Geany - IDE compact, rapide et multiplateforme. [GPL]
- IBM VisualAge - Famille d’environnements de développement intégrés d’IBM.
- Irony-mode - Mode mineur C/C++ pour Emacs, propulsé par libclang.
- juCi++ - IDE C++ léger et multiplateforme avec intégration libclang. [MIT]
- KDevelop - IDE libre et open source.
- Microsoft Visual Studio - IDE de Microsoft.
- Microsoft Visual Studio Code :zap: - IDE open source de Microsoft. [MIT] site web
- NetBeans - IDE principalement destiné au développement Java, mais aussi à d’autres langages, notamment PHP, C/C++ et HTML5.
- Qt Creator :zap: - IDE C++, JavaScript et QML multiplateforme inclus dans le SDK de Qt. [GPL3 avec exceptions] site web
- rtags - Indexeur client/serveur C/C++ fondé sur clang et intégrable à Emacs.
- Xcode - Développé par Apple.
- YouCompleteMe - Moteur rapide de complétion de code pour Vim, à recherche approximative et suggestions pendant la saisie.
- C Playground - Online C Programming IDE - IDE en ligne pour s’exercer à programmer en C, écrire, modifier et exécuter du code.
Systèmes de compilation
Section intitulée « Systèmes de compilation »- awesome-cmake - Sélection de scripts, modules et ressources CMake remarquables.
- Bazel - Système de compilation multilingue, rapide et évolutif de Google. [Apache]
- Bear - Outil de génération d’une base de données de compilation pour les outils clang. [GPLv3]
- Buck - Système de compilation rapide encourageant la création de petits modules réutilisables sur diverses plateformes et dans plusieurs langages, dont C++. Développé et utilisé chez Facebook, écrit en Java. [Apache]
- build2 - Chaîne d’outils multiplateforme de compilation, empaquetage et gestion des dépendances pour développer et empaqueter des projets C/C++. [MIT]
- Ccache - Cache rapide de compilateur C/C++. [GPLv3]
- clib - Gestionnaire de paquets pour le langage C. [MIT]
- CMake - Logiciel libre et open source multiplateforme de gestion de la compilation, indépendant du compilateur. [BSD]
- Cget - Récupération de paquets CMake. [Boost] site web
- Conan - Gestionnaire de paquets C/C++ open source. [MIT]
- CPM - Gestionnaire de paquets C++ fondé sur CMake et Git.
- FASTBuild - Système de compilation open source hautes performances prenant en charge la compilation très évolutive, la mise en cache et la distribution réseau.
- Hunter - Gestionnaire de paquets C++ multiplateforme piloté par CMake. [BSD-2]
- MesonBuild - Système de compilation open source conçu pour être extrêmement rapide et, surtout, aussi convivial que possible.
- Ninja - Petit système de compilation privilégiant la vitesse.
- Sccache - Cache rapide de compilateur C/C++, multiplateforme et prenant en charge le stockage dans le cloud.
- Scons - Outil de construction logicielle configuré par un script Python.
- Sconsolidator - Intégration du système de compilation Scons à Eclipse CDT.
- Spack - Gestionnaire de paquets flexible prenant en charge plusieurs versions, configurations, plateformes et compilateurs. [Apache-2.0/MIT]
- SW - Système de compilation et gestionnaire de paquets multiplateforme pour C++ et d’autres langages, proposant de nombreux paquets. [GPLv3]
- tundra - Système de compilation hautes performances conçu pour offrir les meilleures compilations incrémentielles possibles, même pour de très grands projets logiciels.
- tup - Système de compilation basé sur les fichiers, qui surveille en arrière-plan les fichiers modifiés.
- Premake - Outil configuré par un script Lua qui génère des fichiers de projet pour Visual Studio, GNU Make, Xcode, Code::Blocks, etc., sous Windows, Mac OS X et Linux.
- Vcpkg - Gestionnaire de bibliothèques C++ pour Windows, Linux et macOS. [MIT]
- waf - Framework Python de configuration, compilation et installation d’applications. [BSD] site web
- XMake - Outil de compilation C/C++ multiplateforme fondé sur Lua, avec gestionnaire de paquets intégré xrepo. [Apache]
- boost-cmake - Modules CMake pour les bibliothèques Boost. [BSD-3-Clause]
- cmake-examples - Collection d’exemples CMake utiles pour différents scénarios. [MIT]
Analyse statique du code
Section intitulée « Analyse statique du code »Liste d’outils d’amélioration de la qualité et de réduction des défauts par analyse du code
- Cppcheck - Outil d’analyse statique du code C/C++. - source
- CppDepend - Simplifie la gestion des bases de code C/C++ complexes en analysant et visualisant les dépendances, définissant des règles de conception, effectuant des analyses d’impact et comparant différentes versions.
- cpplint - Vérificateur de style C++ conforme au guide de style C++ de Google.
- PVS-Studio - Outil de détection de bogues dans le code source de programmes écrits en C, C++ et C#.
- cpp-dependencies - Outil de vérification des dépendances #include C++ (graphes de dépendances générés au format .dot). [Apache]
- include-what-you-use - Outil utilisable avec clang pour analyser les inclusions dans les fichiers source C et C++. site web
- Infer - Analyseur statique pour Java, C et Objective-C. [BSD]
- OCLint - Outil d’analyse statique du code source C, C++ et Objective-C visant à améliorer la qualité et réduire les défauts. - source
- Clang Static Analyzer - Outil d’analyse du code source détectant les bogues dans les programmes C, C++ et Objective-C.
- Linticator - Intégration de Pc-/FlexeLint à Eclipse CDT.
- IKOS - Analyseur statique C/C++ fondé sur la théorie de l’interprétation abstraite. [NOSA 1.3]
- List of tools for static code analysis - Liste d’outils d’analyse statique du code tirée de Wikipédia.
- OptView2 - Examine les optimisations manquées par Clang.
- Trunk - Boîte à outils de vérification, test, fusion et surveillance du code.
- CodeCompass - Outil open source de compréhension du code pour les grands projets C/C++. [GPL-3.0]
- CodeChecker - Outils d’analyse, base de données des défauts et extension de visualisation pour Clang Static Analyzer et Clang-Tidy. [Apache-2.0]
Outils de style de code
Section intitulée « Outils de style de code »- Artistic Style - Outil de formatage de code C/C++/C#/Obj-C/Java, également appelé astyle.
- ClangFormat - Outil de formatage de code C/C++/Obj-C.
- Clang-Tidy - Outil de linting C++ fondé sur Clang.
- EditorConfig - EditorConfig aide à maintenir un style de code cohérent entre différents éditeurs et IDE.
- Uncrustify - Outil d’embellissement du code.
Ressources
Section intitulée « Ressources »Ressources diverses, comme des livres, sites web et articles, pour approfondir vos compétences et connaissances en développement C++.
Conception d’API
Section intitulée « Conception d’API »Articles
Section intitulée « Articles »Articles remarquables sur C++.
- CppCon 2023 Presentation Materials - Supports de présentation de CppCon 2023.
- CppCon 2022 Presentation Materials - Supports de présentation de CppCon 2022.
- CppCon 2021 Presentation Materials - Supports de présentation de CppCon 2021.
- CppCon 2020 Presentation Materials - Supports de présentation de CppCon 2020.
- CppCon 2019 Presentation Materials - Supports de présentation de CppCon 2019.
- CppCon 2018 Presentation Materials - Supports de présentation de CppCon 2018.
- CppCon 2017 Presentation Materials - Supports de présentation de CppCon 2017.
- CppCon 2016 Presentation Materials - Supports de présentation de CppCon 2016.
- CppCon 2015 Presentation Materials - Supports de présentation de CppCon 2015.
- CppCon 2014 Presentation Materials - Supports de présentation de CppCon 2014.
- C++Now 2023 Presentations - Supports présentés à C++Now 2023.
- C++Now 2022 Presentations - Supports présentés à C++Now 2022.
- C++Now 2021 Presentations - Supports présentés à C++Now 2021.
- C++Now 2019 Presentations - Supports présentés à C++Now 2019.
- C++Now 2018 Presentations - Supports présentés à C++Now 2018.
- C++Now 2017 Presentations - Supports présentés à C++Now 2017.
- C++Now 2016 Presentations - Supports présentés à C++Now 2016.
- C++Now 2015 Presentations - Supports présentés à C++Now 2015.
- C++Now 2014 Presentations - Supports présentés à C++Now 2014.
- C++Now 2013 Presentations - Supports présentés à C++Now 2013.
- C++Now 2012 Presentations - Supports présentés à C++Now 2012.
- cpp17_in_TTs - Descriptions des fonctionnalités de C++17, présentées principalement sous forme de « Tony Tables ».
- All C++20 core language features with examples - Référence de toutes les fonctionnalités du langage C++20, avec des exemples.
- Memory Footprint of GUI Toolkits - Comparaison de l’empreinte mémoire de différentes boîtes à outils d’interfaces graphiques.
- C++ UI Libraries - Liste complète de solutions d’interface utilisateur en C++.
- C++ Compilation - Brève description du processus de compilation C++.
- Books on C++17 - Liste de livres sur C++17.
- modern-cpp-features - Aide-mémoire des fonctionnalités modernes du langage et des bibliothèques C++.
- Choosing Some C++ Over C - Article sur les cas où préférer C++ à C.
- C++ 17 Features - Liste complète des fonctionnalités de C++17.
- Master C Programming with Open Source Books - Sélection de livres open source pour apprendre la programmation en C.
Livres remarquables sur C ou C++.
- List of Free C or C++ Books
- Free C Books - vhf/free-programming-books/C.
- Free C++ Books - vhf/free-programming-books/C++.
- Practical Guide to Bare Metal C++
- cppbestpractices - Collection collaborative de bonnes pratiques C++.
Normes de codage
Section intitulée « Normes de codage »Style de codage
Section intitulée « Style de codage »- C++ Core Guidelines - Ensemble « officiel » de recommandations C++, révisé par l’auteur du langage C++.
- C++ Dos and Don’ts - Les projets Chromium > Pour les développeurs > Style de codage > À faire et à ne pas faire en C++.
- google-styleguide - Guides de style pour les projets open source issus de Google.
- Google C++ Style Guide
- GNU Coding Standard
- Linux kernel coding style
- LLVM Coding Standards
- CppCast - Le premier balado sur C++ réalisé par des développeurs C++ pour des développeurs C++.
- CppChat - Tour d’horizon (parfois) hebdomadaire de l’actualité C++, avec un invité de la communauté.
Conférences
Section intitulée « Conférences »- C++ Conferences - Catalogue de conférences C++.
- CppCon Talks :zap: - La conférence C++.
- Quick game development with C++11/C++14 - Conférence de Vittorio Romeo à CppCon 2014.
- Presentation on Hana for C++Now 2015
- Meeting Cpp - Chaîne YouTube Meeting C++.
Vidéos remarquables sur C ou C++.
- List of C or C++ YouTube Videos
- Awesome C Programming Tutorials in Hi Def [HD] - Collection de tutoriels détaillés sur le langage C, destinée aux débutants et aux nouveaux programmeurs.
- C++ - Par VoidRealms.
- C++ Qt Programming - Par VoidRealms.
- C++ Programming Tutorials Playlist - Liste officielle des tutoriels de programmation C++ de Bucky par TheNewBoston.
- C++ Programming Tutorials from thenewboston - Tous les tutoriels de programmation C++ de thenewboston.
- C++ GUI with Qt Playlist - Liste officielle des tutoriels d’interfaces graphiques C++ avec Qt de thenewboston.
- Caleb Curry’s C Programming Tutorials - Liste complète de tutoriels de programmation en C.
- C Programming Tutorials - Retrouvez ici tous les tutoriels de programmation en C de TheNewBoston.
- Bo Qian’s playlist - Bibliothèque Boost, bibliothèque standard C++, C++ moderne, C++ avancé, STL avancée, …
- The Cherno’s C++ Playlist - Série complète de tutoriels C++ par The Cherno.
- Code for Yourself C++ Playlist - Cours complet de C++ couvrant les bases jusqu’à la conception logicielle.
Sites web
Section intitulée « Sites web »Sites web utiles sur C ou C++.
- Standard C++ :zap: - Actualités, état et discussions autour du C++ standard.
- Build Bench - Comparaison de compilations C++.
- Quick Bench - Tests de performance rapides en C++.
- CppCon - La conférence C++.
- C++ reference - Référence en ligne complète des langages C et C++ et de leurs bibliothèques standard.
- cppstat - Site répertoriant les fonctionnalités C++ et leur prise en charge par les compilateurs et les implémentations de bibliothèques standard, de manière accessible.
- C++ by Example - Apprendre C++ par l’exemple.
- cplusplus.com - Le réseau de ressources C++.
- C FAQ - Foire aux questions sur C.
- C++ FAQ - Foire aux questions sur C++.
- C++ FQA Lite - Réponses aux questions fréquemment posées sur C++.
- C++ Quiz - Quiz en ligne simple pour tester vos connaissances du langage C++.
- Guru of the Week - Série régulière de problèmes de programmation C++ conçus et rédigés par Herb Sutter.
- Meeting C++
- PVS-Studio’s challenge - Quiz C++ de PVS-Studio dans lequel il faut trouver des erreurs dans des fragments de code de projets open source.
- Udemy C++ Courses and Tutorials
- C++ Hints - Conseils quotidiens de l’équipe PVS-Studio sur les erreurs C++ les plus courantes et les moyens de les résoudre.
- C++ tutorial - Site de tutoriels en ligne classés par les utilisateurs, proposant plusieurs cours pour apprendre C++.
- C++ Tutorial for Beginners - Tutoriel complet sur C++, conçu par des experts qualifiés.
- C++ for yourself - Tutoriel complet de C++ moderne, des fondamentaux à la conception logicielle.
- CompileBytes C++ Compiler – Compilateur C++ en ligne et environnement interactif d’exécution de code.
- C++ Resources - Collection de ressources C++, notamment des livres, articles et outils.
- CppPatterns - Dépôt de modèles et idiomes C++ modernes. site web
- Function Pointers - Guide de compréhension des pointeurs de fonction en C/C++.
Blogs utiles sur C ou C++.
- Coding For Speed - Coding For Speed DOT COM, moins de temps d’exécution.
- Eric Niebler
- Sticky Bits
- Paul Fultz II’s Blog
- ridiculousfish - Will It Optimize?
- Embedded in Academia
- Simplify C++
- Fluent C++
- Bartek’s Coding Blog
- Kenny Kerr
- Sutter’s Mill
- Vorbrodt’s C++ Blog
- foonathan::blog()
- C++ Team Blog - Blog de l’équipe Microsoft Visual C++.
Autres projets Awesome
Section intitulée « Autres projets Awesome »Collection de codes, extraits utiles, …
- algorithms - Algorithmes et structures de données en C++.
- c-algorithms - Bibliothèque d’algorithmes en C.
- 30 Seconds of C++
- awesome-ld-preload - Sélection de ressources liées à LD_PRELOAD.
- awesome-static-analysis - Sélection d’outils d’analyse statique pour tous les langages de programmation.
- cpp_functional_programming - Liste de ressources et de liens sur la programmation fonctionnelle en C++.
- algorithms_and_data_structures - Implémentation d’algorithmes et de structures de données en C++.
Autres listes Awesome
Section intitulée « Autres listes Awesome »Autres listes remarquables
- lists - Liste de listes (awesome) répertoriées sur GitHub.
- awesome-awesomeness - Sélection de ressources remarquables.
- awesome :zap: - Sélection de listes Awesome.
- C++ links - Liste thématique de ressources C++.
- Awesome C++ - Miroir de LibHunt.
- Awesome C 1
- Awesome C 2
- Awesome Modern C++ - Collection de ressources sur le C++ moderne.
- AwesomePerfCpp - Sélection de ressources remarquables sur l’optimisation des performances en C/C++.
- free-programming-books - Liste de livres de programmation librement accessibles.
- Inqlude - Archive des bibliothèques Qt.
- papers-we-love - Articles de la communauté informatique à lire et à discuter.
- awesome-algorithms - Sélection de ressources remarquables pour apprendre et/ou pratiquer les algorithmes.
- awesome-hpp - Sélection de bibliothèques C++ remarquables à en-têtes seuls.
- awesome-talks - Nombreux screencasts, enregistrements de rencontres de groupes d’utilisateurs et conférences.
- Projects - Liste de projets pratiques que chacun peut réaliser dans n’importe quel langage de programmation.
- Awesome interview questions - Liste de listes de questions d’entretien pour les technologies les plus populaires, dont C et C++.
- nothings/single_file_libs :zap: - Liste de bibliothèques C/C++ à fichier unique.
- Cette liste est actuellement vide, mais vous pouvez la compléter en ouvrant une demande de fusion.
Sponsors
Section intitulée « Sponsors »- Veuillez nous contacter si vous souhaitez parrainer ce dépôt. Le nom et le logo de votre entreprise seront mis en évidence ici.
Contribuer
Section intitulée « Contribuer »Veuillez consulter les consignes de contribution pour en savoir plus. Merci à tous les contributeurs ; vous êtes formidables !
Si vous remarquez ici un projet ou un lien qui n’est plus maintenu ou n’a plus sa place dans cette liste, veuillez proposer une pull request pour améliorer ce document. Merci !
Section intitulée « Si vous remarquez ici un projet ou un lien qui n’est plus maintenu ou n’a plus sa place dans cette liste, veuillez proposer une pull request pour améliorer ce document. Merci ! »HagiCode
HagiCode est un espace de développement agentique. Des interactions d’interface riches et pratiques rendent la planification, l’exécution des agents et le travail sur les projets accessibles et faciles à suivre, pour une expérience de développement engageante.
Une expérience de développement engageante grâce à des interactions d’interface riches et pratiques.
- IntelligentLes workflows OpenSpec transforment une intention en parcours exécutable, de la proposition à la livraison en passant par la conception et les tâches.
- EfficaceL’exécution multi-agent fait avancer recherche, réalisation et revue en parallèle, sur plusieurs dépôts et avec les Agent CLI que vous utilisez déjà.
- IntéressantDes interactions d’interface riches et pratiques rendent la planification, l’exécution des agents et le travail sur les projets accessibles et faciles à suivre.
Télécharger pour Windows
Partager HagiCode
Transformez vos idées en logiciels livrés.
HagiCode est un espace de développement agentique : les workflows OpenSpec planifient le changement, l’exécution multi-agent le réalise et Hero Scenario rend le long parcours visible, pour transformer vos idées en logiciels livrés.
- Intelligent
- Les workflows OpenSpec transforment une intention en parcours, de la proposition à la livraison.
- Efficace
- L’exécution multi-agent mène recherche, réalisation et revue en parallèle.
- Ludique
- Les interactions d’interface facilitent la planification, l’exécution des agents et les projets.
© 2026 HagiCode | Powered By hagilight-starlight@0.21.0 | Branch: main | Commit: 745b50b | Built:

