fucking-awesome-cpp
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. With repository stars⭐ and forks🍴
https://github.com/Correia-jpv/fucking-awesome-cpp
Last synced: 5 days ago
JSON representation
-
Frameworks
- ASL - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
- AUI - Declarative UI toolkit for C++20. [MPL2]
- BDE - The BDE Development Environment from Bloomberg Labs. [Apache2]
- C++ Workflow - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2]
- CGraph - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT]
- Coost - A tiny boost library in C++11. [MIT]
- Dlib - A toolkit for making real world machine learning and data analysis applications in C++. [Boost] [website](http://dlib.net/)
- EASTL - Electronic Arts Standard Template Library. [BSD]
- ETL - Embedded Template Library. [MIT]
- ffead-cpp - Framework for Enterprise Application Development. [Apache2]
- Folly - An open-source C++ library developed and used at Facebook. [Apache2]
- FunctionalPlus - Functional Programming Library for C++. Write concise and readable C++ code. [MIT]
- itlib - A collection of std-like single-header C++ libraries [MIT]
- JUCE - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] [website](http://www.juce.com/)
- Kigs framework - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] 🌎 [website](kigs-framework.org/)
- libPhenom - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2]
- LibSourcey - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL]
- LibU - A multiplatform utility library written in C. [BSD]
- libxutils - Simple and yet powerful cross-platform C library providing data structures, algorithms and much more. [MIT]
- MiLi - Minimal headers-only C++ Library. [Boost]
- OpenFrameworks - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/)
- PhotonLibOS - A comprehensive C++ framework featuring efficient user-space threading (coroutine with work-stealing), I/O, networking, RPC, HTTP, etc., and used extensively in Alibaba. It is compatible with C++ 14/17/20/23, Linux, MacOS, x86-64, ARM64, gcc and clang. [Apache2] 🌎 [website](photonlibos.github.io/)
- rpp - Minimal Rust-inspired C++20 STL replacement. [MIT]
- SaneCppLibraries - a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT] 🌎 [website](pagghiu.github.io/SaneCppLibraries/)
- Seastar - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/)
- Siv3D - Siv3D (OpenSiv3D) is a C++20 framework for creative coding (2D/3D games, media art, visualizers, and simulators). [MIT] 🌎 [website](siv3d.github.io/)
- STLport - An exemplary version of STL. [Free]
- tbox - A glib-like multi-platform c library. [Apache2] [website](http://tboox.org/)
- xtd - Modern C++20 framework to create console (CLI), forms (GUI) and unit tests (xUnit) applications on Windows, macOS, Linux, iOS, Android, FreeBSD and Haiku. [MIT]
- Yomm2 - Fast, Orthogonal, Open multi-methods. Supersedes <b><code> 117⭐</code></b> <b><code> 16🍴</code></b> [Yomm11](https://github.com/jll63/yomm11)) [Boost]
- sfl library - a header-only C++11 library that provides several new or lesser-known containers, some of which can be used in C++20 constant expressions. [zlib]
- abseil-cpp - Abseil C++ Common Libraries. [Apache2]
- ASL - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
- Boost - A large collection of generic C++ libraries. [Boost] 🌎 [website](www.boost.org)
- STLport - An exemplary version of STL. [Free]
- Qt - A cross-platform application and UI framework. [GPL/LGPL/Proprietary] 🌎 [website](www.qt.io)
- Cinder - A community-developed, free and open source library for professional-quality creative coding. [BSD]
- GLib - GLib provides the core application building blocks for libraries and applications written in C. [LGPL]
- ROOT - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL]
- Reason - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2]
- Cxxomfort - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT]
- Ultimate++ - A C++ cross-platform rapid application development framework. [BSD]
-
Artificial Intelligence
- ANNetGPGPU - A GPU (CUDA) based Artificial Neural Network library. [LGPL]
- btsk - Game Behavior Tree Starter Kit. [zlib]
- frugally-deep - Header-only library for using Keras models in C++. [MIT]
- Genann - Simple neural network library in C. [zlib]
- MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, JavaScript and more. 🌎 [website](mxnet.apache.org)
- PyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration. 🌎 [website](pytorch.org)
- flashlight - Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD]
- Recast/Detour - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib]
- TensorFlow - An open source software library for numerical computation using data flow graphs. [Apache]
- Txeo - A modern C++ wrapper for TensorFlow. [Apache]
- oneDNN - An open-source cross-platform performance library for deep learning applications. [Apache] 🌎 [website](01.org/onednn)
- CNTK - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost]
- tiny-dnn - A header only, dependency-free deep learning framework in C++11. [BSD]
- Veles - Distributed platform for rapid Deep learning application development. [Apache]
- Kaldi - Toolkit for speech recognition. [Apache]
-
Asynchronous Event Loop
- Asio - A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] [website](http://think-async.com/)
- Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost] 🌎 [website](boost.org/libs/asio)
- C++ Actor Framework - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/)
- Ichor - An event queue which focuses on thread safety and provides dependency injection. [MIT]
- libhv - Cross-platform event loop library. [BSD]
- libuv - Cross-platform asynchronous I/O. [BSD]
- promise-cpp - Header only library that implements Promise/A+ standard. [Anti-996]
- uvw - C++ wrapper for libuv. [MIT]
- uv-cpp - a simple interface, high-performance network library based on C++11. [MIT]
-
Audio
- Amplitude Audio SDK - A cross-platform audio engine designed with the needs of games in mind. [Apache-2.0] 🌎 [website](amplitudeaudiosdk.com)
- Aubio - A library for audio and music analysis.[GPL-3.0] 🌎 [website](aubio.org/)
- AudioFile - A simple C++ library for reading and writing audio files. [MIT]
- audioFlux - A C library for audio and music analysis, feature extraction. [MIT]
- dr_libs - Single file audio decoding libraries for C and C++. [Unlicense]
- libsoundio - C library for cross-platform real-time audio input and output. [MIT] [website](http://libsound.io/)
- Maximilian - C++ Audio and Music DSP Library. [MIT]
- miniaudio - Single file audio playback and capture library. [Unlicense] 🌎 [website](miniaud.io/)
- ni-media - C++ library for reading and writing audio files. [MIT]
- rnnoise - Recurrent neural network for audio noise reduction. [BSD-3-Clause]
- SELA - SimplE Lossless Audio. [MIT]
- SoLoud - Easy, portable audio engine for games. [zlib]
- Tonic - Easy and efficient audio synthesis in C++. [Unlicense]
- minimp3 - Public domain, header-only MP3 decoder with clean-room implementation. [CC0]
- KFR - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Proprietary]
- LAME - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL]
- Speex - A free codec for free speech. Obsoleted by Opus. [BSD]
-
Biology
- libsequence - A C++ library for representing and analyzing population genetics data. [GPL]
- Vcflib - A C++ library for parsing and manipulating VCF files. [MIT]
- Wham - Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT]
- Chaste - An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD]
-
BitTorrent
- jech/dht - BitTorrent DHT library in C. [MIT]
- libtorrent - rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD]
- LibTorrent - rakshasa) - BitTorrent library. [GPL]
- libutp - uTorrent Transport Protocol library. [MIT]
-
Chemistry
- d-SEAMS - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] 🌎 [website](dseams.info)
- gromacs - A message-passing parallel molecular dynamics implementation. [GPL] [website](http://www.gromacs.org)
- Reaktoro - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] 🌎 [website](reaktoro.org)
- LAMMPS - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] 🌎 [website](lammps.sandia.gov/)
- MADNESS - Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] <b><code> 209⭐</code></b> <b><code> 70🍴</code></b> [website](https://github.com/m-a-d-n-e-s-s/madness))
- MPQC - The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [GPL] 🌎 [website](mpqc.org/)
- Psi - An ab initio computational chemistry package. [GPL] 🌎 [website](psicode.org/)
-
CLI
- Argh! - A minimalist, frustration-free, header-only argument handler. [BSD]
- argparse - Argument Parser for Modern C++. [MIT]
- args - A simple header-only C++ argument parser library. [MIT]
- Argy - Command-Line Argument Parsing Library for Modern C++ — Simple, Intuitive, and Header-only with Zero Dependencies [MIT]
- barkeep - Small C++ header to display async animations, counters, and progress bars. [Apache-2.0] 🌎 [website](oir.github.io/barkeep/)
- Boost.Program_options - A library to obtain program options via conventional methods such as command line and config file. [Boost] 🌎 [website](boost.org/libs/program_options)
- cli - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost]
- CLI11 - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD]
- clipp - Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT]
- cpp-terminal - Small header only C++ library for writing multiplatform terminal applications. [MIT]
- Ctrl+C - Crossplatform C++11 library to handle Ctrl+C event in custom functions. [MIT]
- cxxopts - Lightweight C++ command line option parser. [MIT]
- docopt.cpp - A library to generate option parser from docstring. [MIT/Boost]
- FINAL CUT - Library for creating terminal applications with text-based widgets. [LGPL]
- FTXUI - C++ Functional Terminal User Interface. [MIT]
- imtui - Immediate Mode Text-based User Interface. [MIT]
- linenoise - A small self-contained alternative to readline and libedit. [BSD-2-Clause]
- linenoise-ng - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD]
- Lyra - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost]
- oof - Convenient, high-performance RGB color and position control for console output. [MIT]
- PDCurses - Public domain curses library with both source code and pre-compiled library available. [PublicDomain]
- popl - A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT]
- replxx - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD]
- tabulate - Table Maker for Modern C++. [MIT]
- TCLAP - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT]
- termbox - A C library for writing text-based user interfaces. [MIT]
- TermOx - C++17 Terminal User Interface(TUI) Library. [MIT]
- tuibox - A single-header terminal UI (TUI) library, capable of creating mouse-driven, interactive applications on the command line. [MIT]
- Ncurses - A terminal user interface. [MIT]
-
Compression
- bit7z - A C++ static library offering a clean and simple interface to the 7-zip shared libraries. [MPL2]
- Brotli - Brotli compression format. Developed by Google. [MIT]
- bzip2 - A freely available, patent free, high-quality data compressor. [BSD]
- bzip3 - A better and stronger spiritual successor to BZip2. [LGPL]
- FastLZ - Small & portable byte-aligned LZ77 compression. [MIT]
- FiniteStateEntropy - New generation entropy codecs : Finite State Entropy and Huff0.
- heatshrink - data compression library for embedded/real-time systems [ISC]
- Kanzi - a modern, modular, portable and efficient lossless data compressor implemented in C++. [Apache-2.0]
- libarchive - Multi-format archive and compression library. [New BSD] [website](http://www.libarchive.org/)
- LZ4 - Extremely Fast Compression algorithm. [BSD] [website](http://www.lz4.org/)
- LZFSE - LZFSE compression library and command line tool. Developed by Apple.
- miniz - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT]
- minizip-ng - Fork of the popular zip manipulation library found in the zlib distribution. [zlib]
- Rapidgzip - Gzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT]
- smaz - Small strings compression library. [BSD]
- zlib-ng - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib]
- zstd - Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD]
- ZZIPlib - Provides read access on ZIP-archives. [MPL/LGPL]
- bzip2 - A freely available, patent free, high-quality data compressor. [BSD]
- ZLib - A very compact compression library for data streams. [zlib]
- PhysicsFS - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib]
- LZMAT - An extremely fast real-time lossless data compression library. [GPL]
-
Concurrency
- alpaka - Abstraction library for parallel kernel acceleration. [LGPLv3+]
- ArrayFire - A general purpose GPU library. [BSD]
- Async++ - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT]
- Boost.Compute - A C++ GPU Computing Library for OpenCL. [Boost] 🌎 [website](boost.org/libs/compute)
- Bolt - A C++ template library optimized for GPUs. [Apache2]
- BS::thread_pool - A fast, lightweight, and easy-to-use C++17 thread pool library [MIT]
- Channel - Thread-safe container for sharing data between threads. [MIT]
- ck - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD]
- concurrentqueue - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost]
- Coros - An easy-to-use and fast library for task-based parallelism, utilizing coroutines. [BSL-1.0]
- CUB - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD]
- cuda-api-wrappers - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD]
- cupla - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+]
- C++React - A reactive programming library for C++11. [Boost]
- FiberTaskingLib - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache]
- Intel Games Task Scheduler - A task scheduling framework designed for the needs of game developers. [MIT]
- junction - A library of concurrent data structures in C++. [BSD]
- Kokkos - A performance portable programming model for parallel execution and memory abstraction. [BSD]
- libcds - A C++ library of Concurrent Data Structures. [BSD]
- Libclsph - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT]
- libfork - A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines. [MPL-2.0] 🌎 [website](conorwilliams.github.io/libfork/)
- marl - Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0]
- moderngpu - moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter]
- NCCL - Optimized primitives for collective multi-GPU communication. [BSD]
- Neco - Concurrency library for C (coroutines). [MIT]
- rotor - Event loop friendly C++ actor micro framework. [MIT]
- SObjectizer - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause]
- Quantum - A powerful C++ coroutine dispatcher framework built on top of 🌎 [Boost.Coroutine2](boost.org/libs/coroutine2).
- readerwriterqueue - A fast single-producer, single-consumer lock-free queue for C++. [BSD]
- stdgpu - Efficient STL-like Data Structures on the GPU. [Apache2]
- Taskflow - A General-purpose Parallel and Heterogeneous Task Programming System. (renamed from Cpp-Taskflow) [MIT]
- ThreadPool - A simple C++11 Thread Pool implementation [zlib]
- transwarp - A header-only C++ library for task concurrency. [MIT]
- VexCL - A C++ vector expression template library for OpenCL/CUDA. [MIT]
- STAPL - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD]
- concurrencpp - A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all.
- STAPL - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD]
- OpenCL - The open standard for parallel programming of heterogeneous systems.
-
Configuration
- inifile-cpp - A header-only and easy to use Ini file parser for C++. [MIT]
- inih - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause]
- inih - Single header only C++ version of <b><code> 2850⭐</code></b> <b><code> 546🍴</code></b> [inih](https://github.com/benhoyt/inih)). [BSD-3-Clause]
- ini-cpp - Single header only C++ version, with some handy read/write interface, extend from <b><code> 2850⭐</code></b> <b><code> 546🍴</code></b> [inih](https://github.com/benhoyt/inih)). [BSD-3-Clause] 🌎 [website](ssarcandy.tw/ini-cpp/index.html)
- iniparser - INI file parser. [MIT]
- inipp - Simple header-only C++ ini parser and generator. [MIT]
- libconfig - C, C++ library for processing structured configuration files. [LGPL-2.1] 🌎 [website](hyperrealm.github.io/libconfig/)
- libconfuse - Small configuration file parser library for C. [ISC]
- mINI - INI file reader and writer. [MIT]
- simpleini - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT]
- toml++ - Header-only TOML parser and serializer for C++17 and later. [MIT] 🌎 [website](marzer.github.io/tomlplusplus/)
- toml11 - a C++11 (or later) header-only toml parser/encoder depending only on C++ standard library. [MIT]
-
Containers
- C++ B-tree - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]
- dynamic_bitset - Simple Useful Libraries: C++17/20 header-only dynamic bitset. [MIT] 🌎 [website](pinam45.github.io/dynamic_bitset/)
- fixed-containers - Header-only C++20 library that provides fixed capacity constexpr containers. [MIT]
- flat_hash_map - A very fast flat hashtable with Fibonacci hashing.
- frozen - a header-only, constexpr alternative to gperf for C++14 users. [Apache-2.0]
- Hashmaps - Implementation of open addressing hash table algorithms in C++. [MIT]
- hat-trie - C++ implementation of a fast and memory efficient HAT-trie. [MIT]
- Hopscotch map - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT]
- librb - C implementation of ring (circular) buffer, with full thread awareness that allows for concurrent read/write and can automatically grow in size when needed. [BSD] 🌎 [website](librb.bofc.pl/)
- LSHBOX - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL]
- parallel-hashmap - A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] 🌎 [website](greg7mdp.github.io/parallel-hashmap/)
- PGM-index - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] 🌎 [website](pgm.di.unipi.it)
- plf::colony - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm)
- plf::list - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm)
- plf::stack - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm)
- robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT]
- robin-map - Fast hash map and hash set using robin hood hashing. [MIT]
- sparsepp - A fast, memory efficient hash map for C++. [BSD 3-clause]
- sqlitemap - Persistent map backed by SQLite. [MIT]
- st_tree - A fast and flexible c++ template class for tree data structures. [Apache-2.0]
- svector - Compact SVO optimized vector for C++17 or higher. [MIT]
- tree.hh - An STL-like C++ header-only tree library. [GPL2+]
- unordered_dense - A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT]
-
Cryptography
- Bcrypt - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD]
- BeeCrypt - A portable and fast cryptography library. [LGPLv2.1+]
- Crypto++ - A free C++ class library of cryptographic schemes. [Boost] [website](http://www.cryptopp.com/)
- digestpp - C++11 header-only message digest (hash) library. [PublicDomain]
- Libgcrypt - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]
- libsodium - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC]
- libhydrogen - A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC]
- LibTomCrypt - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL]
- mbedTLS - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] 🌎 [website](tls.mbed.org/)
- Nettle - A low-level cryptographic library. [LGPL]
- OpenSSL - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [website](http://www.openssl.org/)
- retter - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography.
- sha1collisiondetection - Library and command line tool to detect SHA-1 collision in a file. [MIT]
- Tink - A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0]
- Tiny AES in C - Small portable AES128/192/256 in C. [PublicDomain]
- HEhub - A library for homomorphic encryption and its applications. [Apache2]
- Libgcrypt - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]
- LibreSSL - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?]
- Nettle - A low-level cryptographic library. [LGPL]
- Themis - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2]
- GnuPG - A complete and free implementation of the OpenPGP standard. [GPL]
-
CSV
- commata - Just another header-only C++17 CSV parser. [Unlicense]
- csv2 - Fast CSV parser for modern C++. [MIT]
- Csv::Parser - Compile-time and runtime CSV parser written in C++17. [Zlib]
- Fast C++ CSV Parser - Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause]
- Glaze - High performance, header only, CSV library with reflection support. [MIT]
- lazycsv - A fast, lightweight and single-header csv parser for modern C++. [MIT]
- rapidcsv - An easy-to-use, header-only C++ CSV parser library. [BSD-3-Clause]
- ssp - A header only "csv" parser which is fast and versatile with modern C++ api. [MIT]
- Vince's CSV Parser - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT]
- zsv - The world's fastest (simd) CSV parser, with an extensible CLI. [MIT]
-
Database
- ClickHouse - C++ client for ClickHouse DBMS. [Apache2]
- CrossDB - Ultra High-performance Lightweight Embedded and Server OLTP RDBMS. [MPL-2.0] 🌎 [website](crossdb.org/)
- hiberlite - C++ Object-relational mapping for sqlite3. [BSD]
- Hiredis - A minimalistic C client library for the Redis database. [BSD]
- Infinity - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2]
- Kuzu - Embeddable property graph database management system built for query speed and scalability. Implements Cypher. [MIT] 🌎 [website](kuzudb.com/)
- LevelDB - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD]
- libpg_query - C library for accessing the PostgreSQL parser outside of the server environment. [BSD-3-Clause]
- libpqxx - The official C++ client API for PostgreSQL. [BSD-3-Clause]
- LMDB++ - C++11 wrapper for the LMDB embedded database library. [PublicDomain]
- mgclient - C/C++ Memgraph Client. [Apache2]
- MongoDB C Driver - MongoDB client library for C. [Apache2]
- MongoDB C++ Driver - C++ driver for MongoDB. [Apache2]
- MongoDB Libbson - A BSON utility library. [Apache2]
- MySQL++ - A C++ wrapper for MySQL's C API. [LGPL]
- nanodbc - A small C++ wrapper for the native C ODBC API. [MIT]
- redis3m - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2]
- Reindexer - Embeddable, in-memory, document-oriented database with a high-level Query builder interface. [Apache2] 🌎 [website](reindexer.io/)
- RocksDB - Embedded key-value store for fast storage from facebook. [BSD]
- SimDB - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2]
- SOCI - A database abstraction layer for C++. [Boost]
- Speedb - Community-led project: A RocksDB compliant high performance scalable embedded key-value store. [Apache2]
- sqlgen - A reflection-based ORM and SQL query generator for C++-20, similar to Python's SQLAlchemy/SQLModel or Rust's Diesel. [MIT]
- SQLiteC++ - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT]
- sqlite_modern_cpp - Header only C++14 wrapper around sqlite library. [MIT]
- sqlite_orm - SQLite ORM light header only library for modern C++. [AGPL + paid MIT]
- sqlpp11 - A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause]
- TidesDB - High-performance, durable, transactional embedded storage engine designed for flash and RAM optimization. [MPL-2.0] 🌎 [website](tidesdb.com/)
- TileDB - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] 🌎 [website](tiledb.io/)
- TinyORM - Modern C++ ORM library. [MIT] 🌎 [website](www.tinyorm.org/)
- UnQLite - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] 🌎 [website](unqlite.symisc.net/)
- TigerBeetleDB C++ client (Community) - TigerBeetle is a financial accounting database designed for mission critical safety and performance to power the future of financial services. [BSL-1.0]
- Trilogy - a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding. [MIT]
- UStore - Multi-Modal database for BLOBs, JSON, and graphs. [Apache2]
- Velox - A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] 🌎 [website](velox-lib.io/)
- DuckDB - in-process SQL OLAP Database Management System. [MIT]
- ODB - An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2]
-
Data visualization
- gplot++ - Cross-platform header-only C++ plotting library that interfaces with Gnuplot. [MIT]
- matplotplusplus - C++ Graphics Library for Data Visualization. [MIT] 🌎 [website](alandefreitas.github.io/matplotplusplus/)
- mathplot - C++ header-only graphing and data visualization with modern OpenGL. [Apache-2.0] 🌎 [website](sebsjames.github.io/mathplot/)
-
Debug
- backward-cpp - A beautiful stack trace pretty printer for C++. [MIT]
- benchmark - Google provided small microbenchmark support library. [Apache2]
- Boost.Test - Boost Test Library. [Boost] 🌎 [website](boost.org/libs/test)
- check - Check is a unit testing framework for C. [LGPL-2.1] 🌎 [website](libcheck.github.io/check/)
- Catch2 - A modern, C++-native, test framework for unit-tests, TDD and BDD. [Boost]
- Celero - C++ Benchmarking Framework. [Apache2]
- cpp-dump - A C++ library for debugging purposes that can print any variable, even user-defined types. [MIT]
- CppUTest - Unit testing and mocking framework for C/C++. [BSD-3-clause]
- CppBenchmark - Performance benchmark framework for C++ with nanoseconds measure precision. [MIT]
- Cpptrace - A simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater. [MIT]
- CrashCatch - Single-header crash reporting for C++ that logs stack traces and creates `.dmp` and `.txt` crash dumps. [MIT] 🌎 [website](keithpotz.github.io/CrashCatch)
- dbg-macro - A dbg(…) macro for C++. [MIT]
- DebugViewPP - Debug logging viewer. [Boost]
- FakeIt - Simple mocking framework for C++. [MIT]
- fff - A micro-framework for creating fake C functions. [MIT]
- Google Test - Google C++ Testing Framework. [BSD]
- Hippomocks - Single-header mocking framework. [LGPL-2.1]
- IceCream-Cpp - Never use cout/printf to debug again [MIT]
- ig-debugheap - Multiplatform debug heap useful for tracking down memory errors. [BSD]
- libassert - The most over-engineered C++ assertion library. [MIT]
- libtap - Write tests in C. [GPL2]
- microprofile - Profiler with web-view for multiple platforms. [Unlicense]
- MinUnit - A minimal unit testing framework for C self-contained in a single header file. [MIT]
- nanobench - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] 🌎 [website](nanobench.ankerl.com)
- Nanotimer - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm)
- Nonius - A C++ micro-benchmarking framework. [CC]
- Remotery - Single C File Profiler with Web Viewer. [Apache2]
- Touca - Open-source regression testing system that you can self-host. [Apache2] 🌎 [website](touca.io/)
- UnitTest++ - A lightweight unit testing framework for C++. [MIT/X Consortium license]
- Unity - Simple Unit Testing for C. [MIT]
- utest.h - Single header unit testing framework for C and C++. [Unlicense]
- utl::profiler - Singe-header profiler for C++17. [MIT]
- Mockator - Eclipse CDT plug-in for C++ Seams and Mock Objects.
- CMocka - unit testing framework for C with support for mock objects. [Apache2]
- CTest - The CMake test driver program. [BSD]
- CppUnit - C++ port of JUnit. [LGPL2]
- Deleaker - A tool for resource leak detection, including memory, GDI and handle leaks.
-
Documentation
- Doxide - Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0] 🌎 [website](doxide.org)
- doxygen - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] 🌎 [website](www.doxygen.org)
- doxyrest - A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT]
- hdoc - The modern documentation tool for C++. [AGPL/Proprietary] 🌎 [website](hdoc.io)
- Natural Docs - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Proprietary] 🌎 [website](www.naturaldocs.org)
- Sphinx - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] 🌎 [website](www.sphinx-doc.org)
-
DSP
- DSPFilters - A collection of useful C++ classes for digital signal processing. [MIT]
- iir1 - IIR Realtime C++ filter library. [MIT]
- kissfft - A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid. [BSD-3-Clause]
- pocketfft - FFT implementation based on FFTPack, but with several improvements. [BSD-3-Clause]
- wavelib - C implementation of 1D and 2D wavelet transforms. [BSD-3-Clause]
-
Font
- otfcc - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0]
- harfbuzz - A text shaping engine. [Old MIT]
- libschrift - A lightweight TrueType font rendering library. [ISC]
-
Game Engine
- Axmol Engine - A cross-platform game engine for desktop, mobile, and XBOX (UWP), derived from Cocos2d-x-4.0. [MIT] 🌎 [website](axmol.dev/)
- Cocos2d-x - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT]
- Corange - A game engine written in pure C, SDL and OpenGL. [BSD]
- crown - Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT]
- EnTT - Gaming meets modern C++. [MIT]
- GamePlay - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2]
- Godot - A fully featured, open source, MIT licensed, game engine. [MIT]
- Grit - Community project to build a free game engine for implementing open world 3D games. [MIT]
- Halley - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0]
- Hazel Game Engine - Hazel is primarily an early-stage interactive application and rendering engine for Windows. [Apache-2.0 license]
- IX-Ray Platform - Fork of X-Ray 1.6 engine that aims to improve gaming experience and simplify development of modifications. [Modified MIT/non-commercial only]
- KlayGE - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/)
- nCine - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] 🌎 [website](ncine.github.io/)
- o3de - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] 🌎 [website](o3de.org/)
- OpenXRay - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only]
- Panda3D - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] 🌎 [website](www.panda3d.org/)
- PixelGameEngine - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3]
- Polycode - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/)
- quakeforge - Actively maintained branch of the original Quake engine code with 20+ years of development. [GPL-2.0]
- raylib - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/)
- Spring - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] 🌎 [website](springrts.com/)
- Torque2D - An open-source and cross-platform C++ engine built for 2D game development. [MIT] 🌎 [website](torque3d.org/torque2d)
- Torque3D - An open-source C++ engine built for 3D game development. [MIT] 🌎 [website](torque3d.org/torque3d)
- toy engine - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations.
- ezEngine - Is a free, open-source game engine written in C++. Its philosophy is to be modular and flexible, such that it can be adapted to many different use cases. [MIT] 🌎 [website](ezengine.net/)
- Urho3D - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT]
-
Graph
-
GUI
- Boden - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary] 🌎 [website](www.boden.io)
- CEGUI - Flexible, cross-platform GUI library.
- Elements - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT]
- GacUI - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL]
- imgui - Immediate Mode Graphical User Interface with minimal dependencies. [MIT]
- implot - Immediate Mode Plotting widgets for imgui. [MIT]
- libui - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT]
- MyGUI - Fast, flexible and simple GUI. [MIT]
- nana - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost]
- NanoGui - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD]
- NAppGUI - SDK for building cross-platform desktop apps in ANSI-C. [MIT] 🌎 [website](nappgui.com/en/home/web/home.html)
- nuklear - A single-header ANSI C gui library. [PublicDomain]
- QCustomPlot - Qt plotting widget without further dependencies. [GPLv3]
- RmlUi - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT]
- Saucer - A modern, cross-platform C++ webview library. [MIT]
- Slint - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] 🌎 [website](slint.dev/)
- TGUI - Cross-platform modern c++ GUI. [Zlib] 🌎 [website](tgui.eu/)
- WebUI - Use any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT] 🌎 [website](webui.me/)
- wxCharts - A library to create charts in wxWidgets applications. [MIT] 🌎 [website](www.wxishiko.com/wxCharts/)
- Yue - A library for creating native cross-platform GUI apps. [LGPLv2]
- CEGUI - Flexible, cross-platform GUI library.
- nana - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost]
- FOX Toolkit - an open-source, cross-platform widget toolkit. [LGPL]
-
Graphics
- assimp - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] [website](http://www.assimp.org)
- bgfx - A cross-platform rendering library. [BSD]
- Blend2D - 2D vector graphics engine powered by a JIT compiler. [Zlib] 🌎 [website](blend2d.com/)
- C-Turtle - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT]
- Diligent Engine - A modern cross-platform low-level 3D graphics library. [Apache2]
- DirectXTK - A collection of helper classes for writing DirectX 11.x code in C++. [MIT]
- GLFW - A simple, cross-platform OpenGL wrangling library. [zlib/libpng]
- GLFWPP - A thin modern C++17 header-only wrapper for GLFW. [MIT]
- Harfang 3D
- herebedragons - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/)
- Horde3D - A small 3D rendering and animation engine. [EPL]
- Ion - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] 🌎 [website](google.github.io/ion/)
- libigl - Simple C++ geometry processing library. [MPL2]
- LLGL - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause]
- LunaSVG - a standalone SVG rendering library in C++. [MIT]
- magnum - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics)
- micro-gl - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] 🌎 [website](micro-gl.github.io/docs/microgl)
- NanoVG - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib]
- OpenSubdiv - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2]
- Partio - Library for wrangling particle data, with support for most common file formats. [Modified BSD]
- Skia - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] 🌎 [website](skia.org/)
- ThorVG - a platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT] 🌎 [website](www.thorvg.org/)
- TinySpline - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT]
- urho3d - Cross-platform rendering and game engine. [Many different, mostly MIT]
- Yocto/GL - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT]
- olive.c - Simple 2D Graphics Library. [MIT]
- Ogre 3D - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] 🌎 [website](www.ogre3d.org)
- Irrlicht - A high performance realtime 3D engine written in C++. [zlib]
- Cairo - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL]
-
Image Processing
- Boost.GIL - Generic Image Library. [Boost] 🌎 [website](boost.org/libs/gil)
- BitmapPlusPLus - Simple and Fast header only Bitmap C++ library. [MIT]
- fpng - Super fast C++ .PNG writer/reader. [Unlicense]
- GD - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/)
- Leptonica - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html)
- libavif - Library for encoding and decoding .avif files. [BSD-2-Clause]
- libfacedetection - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD]
- libjpeg-turbo - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] 🌎 [website](libjpeg-turbo.org/)
- libjxl - JPEG XL image format reference implementation. [BSD-3-Clause]
- libpng - the reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. [libpng-2.0] 🌎 [website](libpng.sourceforge.io/)
- libspng - Simple, modern libpng alternative. [BSD-2] 🌎 [website](libspng.org/)
- libvips - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/)
- LodePNG - PNG encoder and decoder in C and C++. [Zlib]
- MozJPEG - Improved JPEG encoder. [BSD/BSD-3-Clause/ZLIB]
- OpenImageIO - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD]
- OpenJPEG - an open-source JPEG 2000 codec written in C language. [BSD-2-Clause]
- PlutoFilter - A single-header, zero-allocation image filter library in C. [MIT]
- QOI - The “Quite OK Image Format” for fast, lossless image compression. [MIT]
- Simd - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT]
- TinyDNG - Header-only Tiny DNG/TIFF loader and writer in C++. [MIT]
- TinyEXIF - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT]
- TinyTIFF - lightweight TIFF reader/writer library. [GPL-3.0]
- Video++ - A C++14 high performance video and image processing library. [MIT]
- VIGRA - A generic C++ computer vision library for image analysis. [MIT X11]
- CImg - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL]
- stb-image - STB single-header image loading library. [Public Domain]
- tesseract-ocr - An OCR engine. [Apache2]
- OpenCV - Open source computer vision. [Apache2] 🌎 [website](opencv.org)
- CxImage - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib]
- Magick++ - ImageMagick program interfaces for C++. [Apache2]
- MagickWnd - ImageMagick program interfaces for C. [Apache2]
-
Internationalization
- gettext - GNU 'gettext'. [GPL2]
- simdutf - Unicode routines (UTF8, UTF16, UTF32): billions of characters per second using SSE2, AVX2, NEON, AVX-512. [Apache-2/MIT]
- uni-algo - Unicode Algorithms Implementation for C/C++. [Unlicense or MIT]
- utf8.h - Single header utf8 string functions for C and C++. [Unlicense]
- utf8proc - A clean C library for processing UTF-8 Unicode data. [MIT]
- gettext - GNU 'gettext'. [GPL2]
- libiconv - An encoding conversion library between different character encodings. [GPL]
-
Inter-process communication
- Boost.Interprocess - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] 🌎 [website](boost.org/libs/interprocess)
- bRPC - bRPC is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. [Apache2] 🌎 [website](brpc.apache.org/)
- Cap'n Proto - Fast data interchange format and capability-based RPC system. [MIT] 🌎 [website](capnproto.org/)
- eCAL - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/)
- gRPC - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/)
- Ice - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2]
- iceoryx - True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] 🌎 [website](iceoryx.io/)
- libjson-rpc-cpp - JSON-RPC framework for C++ servers and clients. [MIT]
- nanomsg - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/)
- nng - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] 🌎 [website](nanomsg.github.io/nng/)
- rpclib - A modern C++ msgpack-RPC server and client library. [MIT]
- simple-rpc-cpp - A simple RPC wrapper generator to C/C++ functions. [BSD]
- SRPC - A lightweight RPC system that supports multiple protocols and OpenTelemetry. [Apache2]
- WAMP - Provides RPC and pub/sub messaging patterns. (various implementations, various languages)
- WAMP - Provides RPC and pub/sub messaging patterns. (various implementations, various languages)
- Apache Thrift - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]
-
JSON
- Boost.PropertyTree - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] 🌎 [website](boost.org/libs/property_tree)
- cJSON - Ultralightweight JSON parser in ANSI C. [MIT]
- DAW JSON Link - Fast, convenient JSON serialization and parsing in C++. [BSL-1.0]
- frozen - JSON parser and generator for C/C++. [GPL & GPL2]
- Jansson - C library for encoding, decoding and manipulating JSON data. [MIT]
- jbson - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost]
- JeayeSON - A very sane (header only) C++ JSON library. [BSD]
- Jsmn - A minimalistic JSON parser in C. [MIT]
- json - JSON for Modern C++. [MIT] 🌎 [website](json.nlohmann.me)
- JSON++ - A JSON parser in C++. [MIT]
- json.cpp - a baroque JSON parsing / serialization library for C++. [Apache-2.0]
- json.h - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense]
- json-build - C89 tiny zero-allocation JSON serializer. [MIT]
- json-c - A JSON implementation in C. [MIT]
- jsoncons - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost]
- JsonCpp - A C++ library for interacting with JSON. [MIT]
- Jsonifier - A few classes for parsing and serializing objects from/into JSON - very rapidly. [MIT]
- jsonParse - A simple JSON parser in ANSI C. [MIT]
- json11 - A tiny JSON library for C++11. [MIT]
- json-struct - High performance, single header JSON parser parsing to and from C++ structs. [MIT]
- json-voorhees - JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2]
- jute - Very simple C++ JSON Parser. [PublicDomain]
- libjson - A JSON parser and printer library in C. easy to integrate with any model. [LGPL]
- LIBUCL - Universal configuration library parser. [BSD-2-Clause]
- meojson - Next-gen C++ JSON/JSON5 Serialization Engine | Zero Dependency | Header-Only | Unleash JSON Potential. [MIT]
- parson - Parson is a lighweight json library written in C. [MIT]
- PicoJSON - A header-file-only, JSON parser serializer in C++. [BSD]
- QJson - A qt-based library that maps JSON data to QVariant objects. [LGPL2]
- RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] 🌎 [website](rapidjson.org)
- sajson - Lightweight, extremely high-performance JSON parser for C++11. [MIT]
- simdjson - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0]
- Sonic-Cpp - A fast JSON serializing & deserializing library, accelerated by SIMD. [Apache-2.0]
- taoJSON - Zero-dependency C++ header-only JSON library. [MIT]
- UltraJSON - Ultra fast JSON decoder and encoder written in C. [BSD-3-Clause]
- YAJL - A fast streaming JSON parsing library in C. [ISC]
- yyjson - A high performance JSON library written in ANSI C. [MIT]
- libjson - Lightweight JSON library. [?]
-
Logging
- Blackhole - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT]
- Boost.Log - Designed to be very modular and extensible. [Boost] 🌎 [website](boost.org/libs/log)
- BqLog - A lightweight, high-performance logging system used in projects such as "Honor of Kings". [Apache-2.0]
- fmtlog - A performant fmtlib-style logging library with latency in nanoseconds. [MIT]
- G3log - Asynchronous logger with Dynamic Sinks. [PublicDomain]
- glog - C++ implementation of the Google logging module.
- haclog - An extremely fast plain C logging library. [MIT]
- log4cplus - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2]
- loguru - A lightweight C++ logging library. [PublicDomain]
- lwlog - Very fast synchronous and asynchronous C++17 logging library. [MIT]
- ng-log - C++14 library for application-level logging. [BSD-3-Clause]
- plog - Portable and simple log for C++ in less than 1000 lines of code. [MPL2]
- reckless - Low-latency, high-throughput, asynchronous logging library for C++. [MIT]
- spdlog - Super fast, header only, C++ logging library.
- templog - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]
- Quill - Asynchronous cross platform low latency logging library. [MIT]
- templog - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]
- P7Baical - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL]
-
Machine Learning
- Caffe - A fast framework for neural networks. [BSD]
- catboost - A fast, scalable, high performance Gradient Boosting on Decision Trees library. [Apache2]
- CCV - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD]
- darknet - Open source neural network framework written in C and CUDA. [PublicDomain] 🌎 [website](pjreddie.com/darknet/)
- FAISS - A library for efficient similarity search and clustering of dense vectors. [MIT]
- Fido - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/)
- ggml - Tensor library for machine learning with 16-bit and 4-bit quantization support. [MIT]
- libsvm - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] 🌎 [website](www.csie.ntu.edu.tw/~cjlin/libsvm/)
- m2cgen - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT]
- MeTA - A modern C++ data sciences toolkit. [MIT] 🌎 [website](meta-toolkit.org/)
- Minerva - A fast and flexible system for deep learning. [Apache2]
- mlpack - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/)
- ncnn - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD]
- ONNX runtime - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] 🌎 [website](onnxruntime.ai/)
- Recommender - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD]
- RNNLIB - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3]
- SHOGUN - The Shogun Machine Learning Toolbox. [GPLv3]
- USearch - Fast search and clustering library for vectors and strings. [Apache2]
- VLFeat - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/)
- xgboost - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2]
-
Math
- Apophenia - A C library for statistical and scientific computing. [GPL2]
- autodiff - A modern, fast and expressive C++ library for automatic differentiation. [MIT] 🌎 [website](autodiff.github.io)
- Boost.Multiprecision - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] 🌎 [website](boost.org/libs/multiprecision)
- ceres-solver - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
- CGAL - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/)
- cml - The configurable math library. [Boost]
- DirectXMath - An all inline SIMD C++ linear algebra library for use in games and graphics apps.
- Eigen - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2]
- GLM - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] 🌎 [website](glm.g-truc.net/)
- Klein - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] 🌎 [website](jeremyong.com/klein)
- libfixmath - Cross Platform Fixed Point Maths Library. [MIT]
- linalg.h - Single header, public domain, short vector math library for C++. [Unlicense]
- MATIO - MATLAB MAT File I/O Library. [BSD-2-Clause] 🌎 [website](sourceforge.net/projects/matio/)
- MatX - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause]
- mexce - A single-header, dependency-free JIT compiler for scalar mathematical expressions that generates optimized x87 FPU machine code. [BSD]
- NumCpp - A templatized header only C++ implementation of the Python Numpy library. [MIT]
- OMath - Cross-platform modern general purpose math library written in C++23 that suitable for cheat/game development. [ZLIB]
- LibTomMath - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/)
- linmath.h - A lean linear math library, aimed at graphics programming. [WTFPL]
- OpenBLAS - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/)
- QuantLib - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/)
- sebsjames/maths - A templated C++20 math library which emphasizes convenience and pleasure for the client programmer (used in <b><code> 26⭐</code></b> <b><code> 10🍴</code></b> [mathplot](https://github.com/sebsjames/mathplot))). [Apache2] 🌎 [website](sebsjames.github.io/maths/)
- SimSIMD - Vector distance functions for x86 AVX2, AVX-512, Arm NEON, and SVE. [Apache2]
- StatsLib - A C++ header-only library of statistical distribution functions. [Apache2] 🌎 [website](www.kthohr.com/statslib.html)
- SymEngine - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT]
- TinyExpr - A C library for parsing and evaluating math expressions from strings. [zlib]
- Vc - SIMD Vector Classes for C++. [BSD]
- Versor - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc).
- Wagyu - A general library for geometry operations of union, intersections, difference, and xor. [mapbox-wagyu original]
- xtensor - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] 🌎 [website](xtensor-stack.github.io/xtensor)
- universal - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license]
- utl::random - A C++17 header-only library implementing fast random for Monte-Carlo simulations & gamedev. [MIT]
- XAD - Powerful Automatic Differentiation for C++. [AGPL] 🌎 [website](auto-differentiation.github.io/)
- GMTL - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2]
- ceres-solver - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
- cml - free C++ math library for games and graphics. [Boost]
- Versor - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc).
- MIRACL - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL]
- ExprTk - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT]
- GMP - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2]
- PCG-rand - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache]
-
Memory Allocation
- Boehm GC - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/)
- C Smart Pointers - Smart pointers for the (GNU) C programming language. [MIT]
- Hoard - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [Apache-2.0] [website](http://hoard.org/)
- jemalloc - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/)
- memory - STL compatible C++ memory allocator library. [ZLib]
- memory-allocators - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT]
- mimalloc - A compact general purpose allocator with excellent performance. [MIT]
- rpmalloc - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain]
- snmalloc - Message passing based high-performance allocator. [MIT]
- TCMalloc - Google's fast, multi-threaded malloc implementation. [Apache-2.0] 🌎 [website](google.github.io/tcmalloc/)
- buddy_alloc - A single header buddy memory allocator for C with bounded allocation costs. [0BSD]
- tgc - A tiny garbage collector for C written in \~500 LOC. [BSD]
-
Multimedia
- libass - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC]
- libav - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] 🌎 [website](www.libav.org/)
- LIVE555 Streaming Media - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
- MediaInfoLib - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD]
- QtAv - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/)
- SDL - Simple DirectMedia Layer. [zlib] 🌎 [website](libsdl.org)
- SFML - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/)
- TagLib - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] 🌎 [website](taglib.org/)
- LIVE555 Streaming Media - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
- libVLC - libVLC (VLC SDK) media framework. [GPL]
- GStreamer - A library for constructing graphs of media-handling components. [LGPL]
-
Networking
- ada - WHATWG-compliant and fast URL parser written in modern C++. [Apache-2.0/MIT]
- ACE - An OO Network Programming Toolkit in C++. [?MIT?]
- Boost.Beast - HTTP and WebSocket built on Boost.Asio in C++11. [Boost] 🌎 [website](www.boost.org/libs/beast)
- Breep - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)]
- C++ REST SDK - C++ REST SDK (previously named Casablanca). [Apache2]
- Restbed - C++11 Asynchronous RESTful framework. [AGPL]
- Restinio - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD]
- c-ares - A C library for asynchronous DNS requests. [MIT]
- cpp-httplib - A single file C++11 header-only HTTP/HTTPS server library. [MIT]
- cpp-netlib/uri - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [Boost]
- CppServer - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT]
- curlcpp - An object oriented C++ wrapper for CURL(libcurl). [MIT]
- curlpp - C++ wrapper around libcURL. [MIT]
- DPDK - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] 🌎 [website](www.dpdk.org/)
- Dyad.c - Asynchronous networking for C. [MIT]
- ENet - Reliable UDP networking library. [MIT] [website](http://enet.bespin.org/)
- evpp - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD]
- FTP client for C++ - C++ client for making FTP requests. [MIT]
- H2O - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT]
- HTTP Parser - A http request/response parser for C. [MIT]
- libhttpserver - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1]
- libpcap - A portable C/C++ library for network traffic capture. [BSD] 🌎 [website](www.tcpdump.org/)
- libquic - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD]
- libwebsockets - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] 🌎 [website](libwebsockets.org/)
- mailio - mailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols. [BSD]
- Mongoose - Extremely lightweight webserver. [GPL2]
- MQTT-C - A portable MQTT C client for embedded systems and PCs alike. [MIT] 🌎 [website](liambindle.ca/MQTT-C)
- mTCP - Highly scalable user-level TCP stack for multicore systems. [Modified BSD]
- Muduo - A C++ non-blocking network library for multi-threaded server in Linux. [BSD]
- nghttp2 - HTTP/2 C Library. [MIT] 🌎 [website](nghttp2.org/)
- nghttp3 - HTTP/3 library written in C. [MIT] 🌎 [website](nghttp2.org/nghttp3/)
- Onion - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2]
- PF_RING™ - High-speed packet processing framework. [LGPL-2.1] 🌎 [website](www.ntop.org/products/packet-capture/pf_ring/)
- PicoHTTPParser - A tiny, primitive, fast HTTP request/response parser. [MIT]
- Proxygen - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD]
- RedPanda - Streaming data platform for developers. Kafka API compatible. 10x faster. [BSL]
- restclient-cpp - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT]
- Seasocks - Simple, small, C++ embeddable webserver with WebSockets support. [BSD]
- tlse - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause]
- TQUIC - A high-performance, lightweight, and cross-platform QUIC library, exposed to C and C++. [Apache2]
- Tufão - An asynchronous web framework for C++ built on top of Qt. [LGPL2]
- uriparser - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause]
- uWebSockets - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib]
- UCall - A high-performance SIMD-accelerated RPC library on io_uring. [Apache2]
- WAFer - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2]
- Wangle - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0]
- wdt - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause]
- WebSocket++ - C++/Boost Asio based websocket client/server library. [BSD]
- PcapPlusPlus - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense]
- ZeroMQ - High-speed, modular asynchronous communication library. [LGPL3/MPL2] [website](http://zeromq.org/)
- CZMQ - High-level C binding for ØMQ. [MPL2] [website](http://czmq.zeromq.org/)
- Zyre - Local Area Clustering for Peer-to-Peer Applications. [MPL2]
- ACE - An OO Network Programming Toolkit in C++. [?MIT?]
- KCP - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
- Libmicrohttpd - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+]
- POCO - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/)
- lwIP - A lightweight TCP/IP stack. [Modified BSD]
-
Office Open XML
- DuckX - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT]
- libxls - Read binary Excel files from C/C++ [BSD-2-Clause]
- libxlsxwriter - A C library for creating Excel XLSX files. [BSD-2-Clause] 🌎 [website](libxlsxwriter.github.io/)
- OpenXLSX - A C++ library for reading, writing, creating and modifying Microsoft Excel® (.xlsx) files. [BSD-3-Clause]
- XLSX I/O - C library for reading and writing .xlsx files. [MIT]
- FreeXL - an open source library to extract valid data from within Spreadsheets. [MPL/GPL-2/LGPL-2]
- SimpleXlsxWriter - XLSX files writer for Microsoft Excel 2007 and above. [zlib]
-
PDF
- libharu - A free, cross platform, open-sourced software library for generating PDF. [zlib]
- PDF-Writer - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] 🌎 [website](www.pdfhummus.com/)
- pdfio - A simple C library for reading and writing PDF files. [Apache-2] 🌎 [website](www.msweet.org/pdfio/)
- PoDoFo - A library to work with the PDF file format. [LGPL]
- QPDF - A tool and C++ library for content-preserving transformations of PDF files. [Apache-2.0] 🌎 [website](qpdf.sourceforge.io/)
- PoDoFo - A library to work with the PDF file format. [LGPL]
- MuPDF - A lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary]
- Poppler - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3]
- Xpdf - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3]
-
Physics
- Box2D - A 2D physics engine for games. [BSD-like]
- Bullet - A 3D physics engine for games. [zlib] [website](http://bulletphysics.org)
- Chipmunk - A fast and lightweight 2D game physics library. [MIT] 🌎 [website](chipmunk-physics.net/)
- Jolt Physics - A multi core friendly rigid body physics and collision detection library. [MIT]
- Kratos - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/)
- LiquidFun - A 2D physics engine for games. [BSD-like]
- Newton Dynamics - An integrated solution for real time simulation of physics environments. [zlib]
- ofxBox2d - openFrameworks wrapper for Box2D. [BSD-like]
- PhysX - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
- PlayRho - An interactive physics engine & library. [Zlib]
- Project Chrono - An open source multi-physics simulation engine. [BSD-3-Clause] 🌎 [website](projectchrono.org/)
- QuarkPhysics - A 2D Soft Body and Rigid Body Physics Engine. [MIT]
- Simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2]
- SOFA - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] 🌎 [website](www.sofa-framework.org)
- ODE - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL]
-
Reflection
- config-loader - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT]
- Better Enums - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/)
- clReflect - C++ Reflection using clang. [MIT]
- CPFG - A C++03 library for reflection, callback and script binding. [Apache2]
- CPP-Reflection - C++ Reflection using clang. [MIT]
- Easy Reflection - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache]
- Magic Enum - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT]
- magic_get - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost]
- meta - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT]
- Nameof - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT]
- Ponder - A C++11 library for reflection. [MIT]
- REFLECT - C++20 Static Reflection library. [MIT]
- reflect-cpp - Serialization through reflection, including automatic field name retrieval from structs. [MIT]
- RTTR - A C++11 library for reflection. [MIT] [website](http://www.rttr.org)
- simple_enum - An Fast, Intuitive and Type-Safe C++ Enumeration Support Library. [BSL-1.0] 🌎 [website](arturbac.github.io/simple_enum/)
- TSMP - An intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT]
- visit_struct - A miniature library for struct-field reflection in C++. [Boost]
- Refureku - A C++17 runtime reflection and code generation library. [MIT]
-
Regular Expression
- CppVerbalExpressions - C++ regular expressions made easy. [MIT]
- CTRE - A Compile time PCRE (almost) compatible regular expression matcher. [MIT]
- Hyperscan - Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD]
- Oniguruma - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD]
- PIRE - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0]
- RE2 - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause]
- SLRE - Super Light Regexp engine for C/C++. [GPLv2/Proprietary]
- sregex - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD]
- TRE - The approximate regex matching library and agrep command line tool. [BSD-2-Clause]
- Vectorscan - A portable fork of the high-performance regular expression matching library. [BSD-3-Clause] 🌎 [website](www.vectorcamp.gr/project/vectorscan/)
- SRELL - Unicode-aware regular expression template library for C++. [BSD]
-
Robotics
- PCL - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing. [BSD] [website](http://www.pointclouds.org/)
- Ruckig - Real-time motion generation for robots and machines. [MIT] 🌎 [website](ruckig.com)
- YARP (Yet Another Robot Platform) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/)
- SPICE Toolkit - Library and toolkit for computing geometric information used in planning and analyzing science observations obtained from robotic spacecraft. [MIT] 🌎 [website](naif.jpl.nasa.gov/naif/toolkit.html)
- MOOS-IvP - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles.
-
Scientific Computing
- AMGCL - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT]
- Au - A C++14-compatible physical units library with no dependencies and a single-file delivery option. Emphasis on safety, accessibility, performance, and developer experience. [Apache 2.0] 🌎 [website](aurora-opensource.github.io/au/main/)
- preCICE - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] 🌎 [website](precice.org/)
- Trilinos - High performance PDE solvers. [BSD]
- Torch - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/)
- volesti - High dimensional sampling from truncated distributions, convex optimization and volume computation.
- GSL - GNU scientific library. [GPL]
- FFTW - A C library for computing the DFT in one or more dimensions. [GPL]
-
Scripting
- Boost.Python - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] 🌎 [website](boost.org/libs/python)
- cppimport - Import C++ files directly from Python! [MIT]
- CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT]
- ctypes.sh - A foreign function interface for bash. [MIT]
- Cython - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/)
- Duktape - An embeddable JavaScript engine with compact footprint. [MIT] [website](http://duktape.org)
- JavaCpp - The missing bridge between Java and native C++. [Apache2]
- JerryScript - Ultra-lightweight JavaScript engine for the Internet of Things. [Apache-2.0] 🌎 [website](jerryscript.net/)
- libffi - A portable foreign-function interface library. [MIT] 🌎 [website](sourceware.org/libffi/)
- LuaBridge - A lightweight, dependency-free library for binding Lua to C++. [MIT]
- LuaBridge3 - A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT]
- luacxx - C++11 API for creating Lua bindings. [MIT]
- Luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua. [MIT] 🌎 [website](luau.org/)
- nanobind - tiny and efficient C++/Python bindings. [BSD-3-Clause]
- nbind - Magical headers that make your C++ library accessible from JavaScript. [MIT]
- PHP-CPP - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/)
- pybind11 - Seamless operability between C++11 and Python. [BSD]
- sol2 - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT]
- SWIG - A wrapper/interface Generator that let you link your c++ code to JavaScript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/)
- txiki.js - A tiny JavaScript runtime. [MIT]
- V7 - An embedded JavaScript engine. [GPL2]
- v8pp - Header-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST] 🌎 [website](pmed.github.io/v8pp/)
- ChakraCore - A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT]
- MicroQuickJS - MicroQuickJS (aka. MQuickJS) is a JavaScript engine targeted at embedded systems. [MIT]
- AngelScript - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib]
- QuickJS - a small and embeddable Javascript engine. [MIT]
-
Serialization
- BitSerializer - Multi-format serialization library (JSON, XML, YAML, CSV, MsgPack) [MIT]
- Bitsery - Header only C++ binary serialization library. [MIT]
- Bond - An open source, cross-platform framework for working with schematized data. [MIT]
- Boost.Serialization - Boost Serialization Library. [Boost] 🌎 [website](boost.org/libs/serialization)
- cereal - A C++11 library for serialization. [BSD]
- cista - A C++17 library for zero-copy high-performance (de-)serialization. [MIT]
- cppcodec - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT]
- FastBinaryEncoding - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT]
- FlatBuffers - A Memory efficient serialization library. [Apache2]
- iguana - a modern, universal and easy-to-use serialization engine developed in C++20 and C++17. [Apache2]
- MessagePack - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/)
- nanopb - Small code-size Protocol Buffers implementation in ANSI C. [Zlib]
- protobuf - Protocol Buffers - Google's data interchange format. [BSD]
- protobuf-c - Protocol Buffers implementation in C. [BSD]
- Protocol Puffers - A little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20. [Apache-2.0]
- upb - A small protobuf implementation in C. [BSD]
- Wirehair - O(N) Fountain Code for Large Data. [BSD-3-Clause]
- YAS - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost]
- zpp_bits - Actually, the fastest modern **S**erialization library. Just check 🌎 [this video](www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon).
-
Serial Port
- CSerialPort - lightweight cross-platform serial port library. [LGPL3]
- Libserial - Serial Port Programming in C++. [BSD-3-Clause]
- Serial Communication Library - Cross-platform, Serial Port library written in C++. [MIT] [website](http://wjwwood.io/serial/)
-
Sorting
- cpp-sort - Sorting algorithms & related tools for C++14. [MIT]
- pdqsort - Pattern-defeating quicksort. [zlib]
- Indiesort - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] 🌎 [website](plflib.org/indiesort.htm)
- x86-simd-sort - C++ template library for high performance SIMD based sorting algorithms. [BSD-3-Clause]
-
Video
- avcpp - Modern C++ wrapper around FFmpeg. [MIT]
- libde265 - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/)
- OpenH264 - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/)
- FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2]
- x265 - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/)
-
Virtual Machines
- CarpVM - "interesting" VM in C. Let's see how this goes. [GPLv3]
- MicroPython - Aims to put an implementation of Python 3.x on a microcontroller. [MIT]
- TinyVM - A small, fast, lightweight virtual machine written in pure ANSI C. [MIT]
-
Web Application Framework
- Civetweb - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT]
- Crow - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] 🌎 [website](crowcpp.org)
- Cutelyst - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [BSD-3-Clause] 🌎 [website](cutelyst.org/)
- C++ wfrest - C++ Web Framework REST API. [Apache2]
- facil.io - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io)
- lwan - Experimental, scalable, high performance HTTP server. [GPL2]
- oat++ - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] 🌎 [website](oatpp.io/)
- QDjango - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL]
- TreeFrog Framework - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/)
- userver - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] 🌎 [website](userver.tech/)
- Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
- Kore - ultra fast and flexible web server / framework for web applications developed in C. [ISC]
-
XML
- Expat - An XML parser library written in C. [MIT]
- Mini-XML - A small XML parsing library written in ANSI C. [LGPL2 with exceptions]
- TinyXML2 - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib]
- TinyXML++ - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT]
- Xalan C - A library and a command line program to transform XML documents using a stylesheet that conforms to XSLT 1.0 standards. [Apache-2.0] 🌎 [website](xalan.apache.org/)
- Expat - An XML parser library written in C. [MIT]
-
Yaml
- fkYAML - A C++ header-only YAML library. [MIT]
- LibCYAML - C library for reading and writing YAML. [ISC]
- libfyaml - A fancy 1.2 YAML and JSON parser/writer. [MIT]
- LibYAML - A C library for parsing and emitting YAML. [MIT] 🌎 [website](pyyaml.org/wiki/LibYAML)
- mini-yaml - Single header YAML 1.0 C++11 serializer/deserializer. [MIT]
- rapidyaml - Rapid YAML is a C++ library to parse and emit YAML. [MIT]
- yaml-cpp - A YAML parser and emitter in C++. [MIT]
-
Miscellaneous
- access_profiler - A tool to count accesses to member variables in c++ programs. [GPL3]
- Argon2 - The password hash Argon2, winner of PHC. [CC0/Apache2]
- AsmJit - Low-latency machine code generation. [Zlib] 🌎 [website](asmjit.com)
- Boost.Signals2 - An implementation of a managed signals and slots system. [Boost] 🌎 [website](boost.org/libs/signals2)
- CCTZ - a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0]
- Concord - A Discord API wrapper library written in C. [MIT] 🌎 [website](cogmasters.github.io/concord)
- CPPItertools - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause]
- CPP-JWT - JSON Web Token library for C++. [MIT]
- cpp-lazy - a fast and easy lazy evaluation library for C++11/14/17/20. [MIT]
- CRCpp - Easy to use and fast C++ CRC library. [BSD-3-Clause]
- cxx-prettyprint - A pretty printing library for C++ containers. [Boost]
- date - A date and time library based on the C++11/14/17 <chrono> header. [MIT] 🌎 [website](howardhinnant.github.io/date/date.html)
- D++ (DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] 🌎 [website](dpp.dev)
- DynaMix - A library which allows you to compose and modify objects at run time. [MIT]
- emio - A safe and fast high-level and low-level character input/output library. [MIT]
- faker-cxx - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT]
- fast_float - Fast, Exact C++ from_chars, 4x to 10x faster than strtod, part of GCC 12, Chromium, Redis, Webkit/Safari. [Apache2/BSL-1.0/MIT]
- fast_io - Significantly faster input/output for C++20. [MIT]
- fccf - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT]
- {fmt} - Small, safe and fast formatting library for C++. [Simplified BSD] 🌎 [website](fmt.dev)
- gcc-poison - A simple header file for developers to ban unsafe C/C++ functions from applications.
- happly - A C++ header-only parser for the PLY file format. Parse .ply happily! [MIT]
- hedley - A C/C++ header file designed to smooth over some platform-specific annoyances. 🌎 [website](nemequ.github.io/hedley/)
- Hexi - Header-only, lightweight C++ library for binary streaming & serialization. [Apache-2.0/MIT]
- HighwayHash - Fast strong hash functions: SipHash/HighwayHash. [Apache-2.0]
- inja - A Template Engine for Modern C++. [MIT]
- Jinja2С++ - almost full-conformance template engine implementation. 🌎 [website](jinja2cpp.github.io/)
- jwt-cpp - A header only library for creating and validating JSON web tokens in C++. [MIT]
- Kangaru - A dependency injection container for C++11 and C++14. [MIT]
- Klib - Small and lightweight implementations of common algorithms and data structures. [MIT]
- KOMIHASH - Very fast, high-quality hash function, discrete-incremental and streamed hashing-capable. [MIT]
- libcpuid - A small C library for x86 CPU detection and feature extraction. [BSD]
- libenvpp - A modern C++ library for type-safe environment variable parsing. [Apache-2.0]
- libevil - The Evil License Manager. [GPLv3]
- libnih - A lightweight library of C functions and structures. [GPL2.1]
- libONVIF - Yet another ONVIF library. [GPL-3.0]
- libpopcnt - Fast C/C++ bit population count library. [BSD-2-Clause]
- libsigc++ - A typesafe callback system for standard C++. [LGPL] 🌎 [website](libsigcplusplus.github.io/libsigcplusplus)
- Mach7 - A Pattern-matching library for C++. [BSD]
- minja.hpp - A minimalistic C++ Jinja templating engine for LLM chat templates. [MIT]
- MPark.Variant - C++17 `std::variant` for C++11/14/17. [BSL-1.0]
- MPH - C++20 [Minimal] Static Perfect Hash library. [MIT]
- PEGTL - The Parsing Expression Grammar Template Library. [MIT]
- Pipes - Pipelines for expressive code on collections in C++. [MIT]
- pprint - Pretty Printer for Modern C++. [MIT]
- pspsdk - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3]
- QtVerbalExpressions - This Qt lib is based off of the C++ VerbalExpressions library. [MIT]
- RapidFuzz - Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] 🌎 [website](rapidfuzz.github.io/rapidfuzz-cpp/)
- rapidhash - Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause]
- Reaction - A lightweight, header-only reactive programming framework leveraging modern C++20 features for building efficient dataflow applications. [MIT]
- reproc - A cross-platform (C99/C++11) process library. [MIT]
- SafetyHook - C++23 procedure hooking library. [BSL-1.0]
- scnlib - scanf for modern C++. [Apache-2.0] 🌎 [website](v1.scnlib.dev/)
- SDS - Simple Dynamic Strings library for C. [BSD]
- semver.c - A semver parser and render in ANSI C. [MIT]
- SLJIT - Platform independent low-level JIT compiler. [BSD] 🌎 [website](zherczeg.github.io/sljit/)
- palacaze/sigslot - A simple, header only, C++14 signal-slots implementation [MIT]
- simdzone - Fast and standards compliant DNS zone parser. [BSD-3-Clause]
- SimpleSignal - High performance C++11 signals. [PublicDomain]
- Stage - Mobile robot simulator. [GPL2]
- stb - A range of single-file libraries for C/C++. [PublicDomain]
- stdman - A tool that parses archived HTML files from 🌎 [cppreference](cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT]
- StringZilla - the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0]
- tgbotxx - Telegram Bot C++ Library. [MIT]
- ub-canaries - A collection of C/C++ programs that try to get compilers to exploit undefined behavior.
- value-category-cheatsheet
- VarTypes - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
- xxHash - Extremely fast non-cryptographic hash algorithm. [BSD-2-Clause] 🌎 [website](xxhash.com/)
- xxhash_cpp - Port of the xxhash library to C++17. [BSD-2-Clause]
- Cheat Sheets of HackingCPP - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc.
- libusb - A universal USB library which allows for portable access to USB devices. [LGPL2]
- StrTk - A C++ library consisting of high performance string processing routines. [MIT]
- sigslot - C++ Signal/Slot Library. [PublicDomain]
- FastFormat - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD]
- Remote Call Framework - Inter-process communication framework for C++. [GPL2/Proprietary]
-
Compiler
- 8cc - A Small C Compiler.
- c - Compile and execute C "scripts" in one go! [MIT]
- PCC - A very old C compiler. Supports C99.
- PCC - A very old C compiler. Supports C99.
- Open WatCom - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License]
- Oracle Solaris Studio - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License]
- GCC - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3]
-
Online Compiler
- coliru - Online compiler/shell with support for various C++ compilers.
- CompileOnline - Compile and Execute C++ online on Linux.
- codepad - An online compiler/interpreter, and a simple collaboration tool.
- coliru - Online compiler/shell with support for various C++ compilers.
- codechef - A simple online compiler CodeChef.
- Try It Online - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages.
- paiza.io - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing.
-
Integrated Development Environment
- color_coded - A vim plugin for libclang-based highlighting. [MIT]
- Embarcadero Dev-CPP - A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] 🌎 [website](www.embarcadero.com/free-tools/dev-cpp)
- Irony-mode - A C/C++ minor mode for Emacs powered by libclang.
- Microsoft Visual Studio Code - An open-source IDE from Microsoft. [MIT] 🌎 [website](code.visualstudio.com)
- Qt Creator - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. [GPL3 with exceptions] 🌎 [website](www.qt.io/product/development-tools)
- rtags - A c/c++ client/server indexer with for integration with emacs based on clang.
- YouCompleteMe - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.
- IBM VisualAge - A family of computer integrated development environments from IBM.
- Anjuta DevStudio - The GNOME IDE. [GPL3]
-
Build Systems
- Bear - A tool to generate compilation database for clang tooling. [GPLv3]
- Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache]
- clib - Package manager for the C programming language. [MIT]
- Cget - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io)
- CPM - A C++ Package Manager based on CMake and Git.
- Sccache - A fast compiler cache for C/C++, with cross-platform support and cloud backed storage options.
- Sconsolidator - Scons build system integration for Eclipse CDT.
- tundra - High-performance code build system designed to give the best possible incremental build times even for very large software projects.
- Vcpkg - C++ library manager for Windows, Linux, and MacOS. [MIT]
- Sconsolidator - Scons build system integration for Eclipse CDT.
- build2 - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT]
- CMake - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD]
- Conan - C/C++ Package Manager, open sourced. [MIT]
- Ninja - A small build system with a focus on speed.
- Spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT]
- SW - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3]
- XMake - A C/C++ cross-platform build utility based on Lua. [Apache]
- Scons - A software construction tool configured with a Python script.
-
Static Code Analysis
- cpplint - A C++ style checker following Google's C++ style guide.
- cpp-dependencies - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache]
- include-what-you-use - A tool for use with clang to analyze includes in C and C++ source files. 🌎 [website](include-what-you-use.org/)
- IKOS - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3]
- OptView2 - Inspect missed Clang optimizations.
- Infer - A static analyzer for Java, C and Objective-C. [BSD]
- CppDepend - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code.
- List of tools for static code analysis - A list of tools for static code analysis from Wikipedia.
- Cppcheck - A tool for static C/C++ code analysis. - <b><code> 6393⭐</code></b> <b><code> 1532🍴</code></b> [source](https://github.com/danmar/cppcheck))
-
Coding Style Tools
- Uncrustify - Code beautifier.
- EditorConfig - EditorConfig helps maintain consistent coding styles across different editors and IDEs.
-
Articles
- CppCon 2023 Presentation Materials - CppCon 2023 Presentation Materials.
- CppCon 2022 Presentation Materials - CppCon 2022 Presentation Materials.
- CppCon 2021 Presentation Materials - CppCon 2021 Presentation Materials.
- CppCon 2020 Presentation Materials - CppCon 2020 Presentation Materials.
- CppCon 2019 Presentation Materials - CppCon 2019 Presentation Materials.
- CppCon 2018 Presentation Materials - CppCon 2018 Presentation Materials.
- CppCon 2017 Presentation Materials - CppCon 2017 Presentation Materials.
- CppCon 2016 Presentation Materials - CppCon 2016 Presentation Materials.
- CppCon 2015 Presentation Materials - CppCon 2015 Presentation Materials.
- CppCon 2014 Presentation Materials - CppCon 2014 Presentation Materials.
- C++Now 2023 Presentations - Presentation materials presented at C++Now 2023.
- C++Now 2022 Presentations - Presentation materials presented at C++Now 2022.
- C++Now 2021 Presentations - Presentation materials presented at C++Now 2021.
- C++Now 2019 Presentations - Presentation materials presented at C++Now 2019.
- C++Now 2018 Presentations - Presentation materials presented at C++Now 2018.
- C++Now 2017 Presentations - Presentation materials presented at C++Now 2017.
- C++Now 2016 Presentations - Presentation materials presented at C++Now 2016.
- C++Now 2015 Presentations - Presentation materials presented at C++Now 2015.
- C++Now 2014 Presentations - Presentation materials presented at C++Now 2014.
- C++Now 2013 Presentations - Presentation materials presented at C++Now 2013.
- C++Now 2012 Presentations - Presentation materials presented at C++Now 2012.
-
Books
- cppbestpractices - Collaborative Collection of C++ Best Practices.
- List of Free C or C++ Books
- List of Free C or C++ Books
- Free C++ Books - vhf/free-programming-books/C++.
-
Coding Style
- C++ Core Guidelines - "Official" set of C++ guidelines, reviewed by the author of C++.
- google-styleguide - Style guides for Google-originated open-source projects.
- GNU Coding Standard
- Google C++ Style Guide
- Linux kernel coding style
-
Talks
- C++ Conferences - Catalog of C++ conferences
- Quick game development with C++11/C++14 - CppCon 2014 talk by Vittorio Romeo.
-
Videos
- Awesome C Programming Tutorials in Hi Def [HD - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers.
- List of C or C++ YouTube Videos
- List of C or C++ YouTube Videos
-
Websites
- C++ FAQ - C++ frequently asked questions.
- Guru of the Week - A regular series of C++ programming problems created and written by Herb Sutter.
- C++ Hints - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team.
- C++ FAQ - C++ frequently asked questions.
- C++ FQA Lite - C++ frequently questioned answers.
- Guru of the Week - A regular series of C++ programming problems created and written by Herb Sutter.
- C++ Hints - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team.
- Standard C++ - News, Status & Discussion about Standard C++.
- Build Bench - Compare C++ Builds.
- Quick Bench - Quick C++ Benchmarks.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- PVS-Studio’s challenge - PVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects.
- Udemy C++ Courses and Tutorials
- C++ tutorial - A user ranked online tutorial bank site displaying multiple courses to learn C++ from.
- C++ for yourself - A comprehensive tutorial on modern C++ covering everything from fundamentals to software design.
-
Other Awesome Projects
- algorithms - Algorithms & Data Structures in C++.
- c-algorithms - C algorithms library.
- 30 Seconds of C++
- lists - List of (awesome) lists curated on GitHub.
- awesome - A curated list of awesome lists.
- C++ links - A categorized list of C++ resources.
- Awesome C
- Awesome Modern C++ - A collection of resources on modern C++.
- AwesomePerfCpp - A curated list of awesome C/C++ performance optimization resources.
- free-programming-books - List of Freely Available Programming Books.
- awesome-hpp - A curated list of awesome header-only C++ libraries.
- Projects - A list of practical projects that anyone can solve in any programming language.
- Awesome interview questions - A list of lists of interview questions for the most popular technologies, including C and C++.
- awesome-awesomeness - A curated list of awesome awesomeness.
- papers-we-love - Papers from the computer science community to read and discuss.
- awesome-algorithms - A curated list of awesome places to learn and/or practice algorithms.
- awesome-talks - A lot of screencasts, recordings of user group gatherings and conference talks.
- contribution guidelines
- contributors
- Awesome C++ - LibHunt's mirror.
- Awesome C
- contribution guidelines
- contributors
-
Standard Libraries
- ISO C++ Standards Committee - ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee. [website](http://www.open-std.org/JTC1/SC22/WG21/)
- C++ Standard Library - A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself.
- Standard Template Library - The Standard Template Library (STL).
- C POSIX library - A specification of a C standard library for POSIX systems.
-
Weblogs
- Eric Niebler
- Coding For Speed - Coding For Speed DOT COM, Less Execution Time.
- Sticky Bits
- Simplify C++
- Fluent C++
- Sutter’s Mill
- Vorbrodt's C++ Blog
- C++ Team Blog - Dev blog from the Microsoft Visual C++ team
-
Source
-
Debugger
- Valgrind - A tool for memory debugging, memory leak detection, and profiling.
- Comparison of debuggers - A list of Debuggers from Wikipedia.
- GDB - GNU Debugger.
-
API Design
-
Coding Standards
Programming Languages
Categories
Miscellaneous
75
Networking
57
Frameworks
42
Math
41
Concurrency
38
Database
37
Debug
37
JSON
37
Image Processing
31
Graphics
29
CLI
29
Game Engine
26
Scripting
26
GUI
23
Containers
23
Other Awesome Projects
23
Compression
22
Cryptography
21
Articles
21
Machine Learning
20
Serialization
19
Build Systems
18
Reflection
18
Logging
18
Audio
17
Inter-process communication
16
Physics
15
Artificial Intelligence
15
Websites
15
Configuration
12
Memory Allocation
12
Web Application Framework
12
Regular Expression
11
Multimedia
11
CSV
10
Static Code Analysis
9
Asynchronous Event Loop
9
PDF
9
Integrated Development Environment
9
Scientific Computing
8
Weblogs
8
Yaml
7
Office Open XML
7
Online Compiler
7
Internationalization
7
Compiler
7
Chemistry
7
XML
6
Documentation
6
Robotics
5
Coding Style
5
DSP
5
Video
5
Books
4
Biology
4
BitTorrent
4
Sorting
4
Standard Libraries
4
Font
3
Data visualization
3
Serial Port
3
Videos
3
Virtual Machines
3
Debugger
3
Coding Standards
2
Talks
2
Coding Style Tools
2
Graph
2
Source
1
API Design
1
Sub Categories
Keywords
cpp
169
c-plus-plus
102
c
79
cpp17
56
header-only
55
cross-platform
39
json
35
cpp11
34
cplusplus
34
library
32
cpp20
30
python
30
cpp14
27
machine-learning
21
serialization
21
windows
21
linux
21
opengl
19
cmake
18
game-engine
18
simd
18
parser
17
http
17
cpp-library
17
gamedev
16
modern-cpp
16
game-development
15
reflection
15
audio
13
deep-learning
13
graphics
12
http-server
12
embedded
11
c-plus-plus-11
11
javascript
11
no-dependencies
10
c-plus-plus-17
10
scientific-computing
10
logging
10
rpc
10
cuda
10
clang
10
java
10
vulkan
10
android
10
csv
10
neural-network
9
high-performance
9
cli
9
framework
9