awesome-cpp
by fffaraz
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
AI summary
C++ framework repository
A curated collection of C++ frameworks, libraries, and resources
- stars
- 60.6K
- forks
- 7.9K
- watching
- 2K
- awesome lists
- 22
- entries
- 1,199
What's in the list
1,199 links in 71 sections, with live GitHub stats.activeno commit in 2y
Standard Libraries
- 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
- ISO C++ Standards Committee
ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee
- The GNU C Library
The purpose of this manual is to tell you how to use the facilities of the GNU C Library
Frameworks
abseil-cpp
Abseil C++ Common Libraries. [Apache2]
- Apache C++ Standard Library
STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2]
- APR
Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2]
- ASL
Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
- Boost
A large collection of generic C++ libraries. [Boost]
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]
- Cinder
A community-developed, free and open source library for professional-quality creative coding. [BSD]
Coost
A tiny boost library in C++11. [MIT]
- Cxxomfort
A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT]
Dlib
A toolkit for making real world machine learning and data analysis applications in C++. [Boost]
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]
- GLib
GLib provides the core application building blocks for libraries and applications written in C. [LGPL]
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]
Kigs framework
A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT]
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]
- Loki
A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT]
MiLi
Minimal headers-only C++ Library. [Boost]
OpenFrameworks
A cross platform open source toolkit for creative coding in C++. [MIT]
- Qt
A cross-platform application and UI framework. [GPL/LGPL/Proprietary]
- 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]
- 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]
rpp
Minimal Rust-inspired C++20 STL replacement. [MIT]
SaneCppLibraries
a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT]
Seastar
An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License]
- STLport
An exemplary version of STL. [Free]
- STXXL
Standard Template Library for Extra Large Data Sets. [Boost]
tbox
A glib-like multi-platform c library. [Apache2]
- Ultimate++
A C++ cross-platform rapid application development framework. [BSD]
- Windows Template Library
A C++ library for developing Windows applications and UI components. [Public]
Yomm2
Fast, Orthogonal, Open multi-methods. Supersedes [Boost]
Artificial Intelligence
ANNetGPGPU
A GPU (CUDA) based Artificial Neural Network library. [LGPL]
btsk
Game Behavior Tree Starter Kit. [zlib]
- Evolving Objects
A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL]
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
PyTorch
Tensors and Dynamic neural networks in Python with strong GPU acceleration
flashlight
Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD]
TensorFlow
An open source software library for numerical computation using data flow graphs. [Apache]
oneDNN
An open-source cross-platform performance library for deep learning applications. [Apache]
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]
Boost.Asio
A cross-platform C++ library for network and low-level I/O programming. [Boost]
C++ Actor Framework
An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause]
Ichor
An event queue which focuses on thread safety and provides dependency injection. [MIT]
- libev
A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL]
- libevent
An event notification library. [BSD]
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]
Aubio
A library for audio and music analysis.[GPL-3.0]
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]
- FMOD
An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]
- 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]
libsndfile
C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1]
libsoundio
C library for cross-platform real-time audio input and output. [MIT]
Maximilian
C++ Audio and Music DSP Library. [MIT]
- OpenAL
Open Audio Library - A crossplatform audio API. [BSD/LGPL/Proprietary]
miniaudio
Single file audio playback and capture library. [Unlicense]
ni-media
C++ library for reading and writing audio files. [MIT]
- Opus
A totally open, royalty-free, highly versatile audio codec. [BSD]
- PortAudio
PortAudio is a free, cross-platform, open-source, audio I/O library. [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]
- Speex
A free codec for free speech. Obsoleted by Opus. [BSD]
Tonic
Easy and efficient audio synthesis in C++. [Unlicense]
- Vorbis
Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD]
minimp3
Public domain, header-only MP3 decoder with clean-room implementation. [CC0]
Verovio
Verovio is a fast and lightweight music notation engraving library. [LGPL]
Wav2Letter++
Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency. [BSD]
Biology
- BioC++
C++ Computational Libraries for Bioinformatics. [BSD]
- Chaste
An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD]
- libsequence
A C++ library for representing and analyzing population genetics data. [GPL]
- SeqAn
Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]
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]
BitTorrent
jech/dht
BitTorrent DHT library in C. [MIT]
libtorrent
(a.k.a. libtorrent-rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD]
LibTorrent
(a.k.a. 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]
gromacs
A message-passing parallel molecular dynamics implementation. [GPL]
Reaktoro
A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL]
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]
MADNESS
Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL]
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]
- ORCA
An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic]
Psi
An ab initio computational chemistry package. [GPL]
CLI
Argh!
A minimalist, frustration-free, header-only argument handler. [BSD]
args
A simple header-only C++ argument parser library. [MIT]
barkeep
Small C++ header to display async animations, counters, and progress bars. [Apache-2.0]
Boost.Program_options
A library to obtain program options via conventional methods such as command line and config file. [Boost]
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]
- gflags
Commandline flags module for C++. [BSD]
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]
- Ncurses
A terminal user interface. [MIT]
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]
- 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]
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]
- KArchive
A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL]
libarchive
Multi-format archive and compression library. [New BSD]
LZ4
Extremely Fast Compression algorithm. [BSD]
LZFSE
LZFSE compression library and command line tool. Developed by Apple
- LZHAM
Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD]
- LZMA
The default and general compression method of 7z format. [PublicDomain]
- LZMAT
An extremely fast real-time lossless data compression library. [GPL]
miniz
Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT]
Minizip
Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib]
minizip-ng
Fork of the popular zip manipulation library found in the zlib distribution. [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]
Rapidgzip
Gzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT]
smaz
Small strings compression library. [BSD]
- Snappy
A fast compressor/decompressor. [BSD]
- ZLib
A very compact compression library for data streams. [zlib]
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]
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]
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]
HPX
A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
Intel Games Task Scheduler
A task scheduling framework designed for the needs of game developers. [MIT]
Intel Parallel STL
Intel® implementation of C++17 STL for C++11 and above. [Apache2]
- Intel TBB
Intel® Threading Building Blocks. [Apache2]
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]
libdill
Introduces structured concurrency in C. [MIT]
libdispatch
Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0]
libfork
A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines. [MPL-2.0]
libmill
Introduces Go-style concurrency in C. [MIT]
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]
- OpenCL
The open standard for parallel programming of heterogeneous systems
- OpenMP
The OpenMP API
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
- RaftLib
The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators. [Apache2]
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]
- Thrust
A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2]
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
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 . [BSD-3-Clause]
ini-cpp
Single header only C++ version, with some handy read/write interface, extend from . [BSD-3-Clause]
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]
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]
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]
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]
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]
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]
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]
plf::list
A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib]
plf::stack
A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib]
ring_span lite
A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT]
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]
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+]
- Botan
A crypto library for C++. [BSD-2]
Crypto++
A free C++ class library of cryptographic schemes. [Boost]
digestpp
C++11 header-only message digest (hash) library. [PublicDomain]
- GnuPG
A complete and free implementation of the OpenPGP standard. [GPL]
- GnuTLS
A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1]
- 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. [?]
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]
- Nettle
A low-level cryptographic library. [LGPL]
OpenSSL
A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache]
retter
A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography
s2n
An implementation of the TLS/SSL protocols. [Apache]
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]
Themis
crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2]
HEhub
A library for homomorphic encryption and its applications. [Apache2]
CSV
commata
Just another header-only C++17 CSV parser. [Unlicense]
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]
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]
Database
ClickHouse
C++ client for ClickHouse DBMS. [Apache2]
CrossDB
Ultra High-performance Lightweight Embedded and Server OLTP RDBMS. [MPL-2.0]
- DuckDB
in-process SQL OLAP Database Management System. [MIT]
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]
Kvrocks
A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2]
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
Very fast embedded key/value store with full ACID semantics. [OpenLDAP]
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]
- ODB
An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2]
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]
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]
- SQLite
A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain]
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]
TileDB
Fast Dense and Sparse Multidimensional Array DBMS. [MIT]
TinyORM
Modern C++ ORM library. [MIT]
UnQLite
A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause]
- upscaledb
An embedded "typed" key/value store with a built-in query interface. [GPLv3]
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]
Data visualization
matplotplusplus
C++ Graphics Library for Data Visualization. [MIT]
Debug
backward-cpp
A beautiful stack trace pretty printer for C++. [MIT]
- Bencher
A suite of continuous benchmarking tools designed to catch performance regressions in CI. [MIT]/[Apache2]
benchmark
Google provided small microbenchmark support library. [Apache2]
Boost.Test
Boost Test Library. [Boost]
check
Check is a unit testing framework for C. [LGPL-2.1]
doctest
The lightest feature rich C++ single header testing framework. [MIT]
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]
- CUTE
C++ Unit Testing Easier. [LGPL3]
- CMocka
unit testing framework for C with support for mock objects. [Apache2]
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]
- CppUnit
C++ port of JUnit. [LGPL2]
- CTest
The CMake test driver program. [BSD]
DebugViewPP
Debug logging viewer. [Boost]
- Deleaker
A tool for resource leak detection, including memory, GDI and handle leaks
FakeIt
Simple mocking framework for C++. [MIT]
fff
A micro-framework for creating fake C functions. [MIT]
Google Mock
A library for writing and using C++ mock classes. [BSD]
Google Test
Google C++ Testing Framework. [BSD]
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]
- Mockator
Eclipse CDT plug-in for C++ Seams and Mock Objects
nanobench
Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT]
Nanotimer
A simple low-overhead cross-platform timer class for benchmarking. [zLib]
Nonius
A C++ micro-benchmarking framework. [CC]
Remotery
Single C File Profiler with Web Viewer. [Apache2]
snitch
Lightweight C++20 testing framework. [Boost]
Touca
Open-source regression testing system that you can self-host. [Apache2]
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]
μt
C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework. [Boost]
- VLD
Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++
Documentation
Doxide
Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0]
doxygen
The de facto standard tool for generating documentation from annotated C++ sources. [GPL2]
doxyrest
A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT]
hdoc
The modern documentation tool for C++. [AGPL/Proprietary]
Natural Docs
Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Proprietary]
Sphinx
Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause]
DSP
DSPFilters
A collection of useful C++ classes for digital signal processing. [MIT]
- FFTW
A C library for computing the DFT in one or more dimensions. [GPL]
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
- Fontconfig
Font configuration and customization library. [MIT]
- FreeType
FreeType is a freely available software library to render fonts. [FTL & GPLv2]
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
Acid
A high speed C++17 Vulkan game engine. [MIT]
- Allegro
A cross-platform library mainly aimed for video games and multimedia programming. [zlib]
Axmol Engine
A cross-platform game engine for desktop, mobile, and XBOX (UWP), derived from Cocos2d-x-4.0. [MIT]
- 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]
- delta3d
A robust simulation platform. [LGPL2]
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]
JNGL
2D library for Linux, Windows, macOS, Android, iOS, Xbox, the Nintendo Switch and the Web. [zlib]
KlayGE
a cross-platform open source game engine with plugin-based architecture. [GPLv2]
nCine
A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT]
o3de
An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2]
OpenXRay
a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only]
- Oxygine
A cross-platform 2D C++ game engine. [MIT]
Panda3D
A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD]
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]
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]
Spring
A powerful free cross-platform RTS game engine. [GPLv2/GPLv3]
Torque2D
An open-source and cross-platform C++ engine built for 2D game development. [MIT]
Torque3D
An open-source C++ engine built for 3D game development. [MIT]
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
- Urho3D
A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT]
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]
Graph
GUI
Boden
Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary]
- CEGUI
Flexible, cross-platform GUI library
Elements
Lightweight, fine-grained, resolution independent, modular GUI library. [MIT]
- FLTK
Fast, light, cross-platform C++ GUI toolkit. [LGPL2]
- FOX Toolkit
an open-source, cross-platform widget toolkit. [LGPL]
GacUI
GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL]
- GTK+
A multi-platform toolkit for creating graphical user interfaces. [LGPL]
- gtkmm
The official C++ interface for the popular GUI library GTK+. [LGPL]
imgui
Immediate Mode Graphical User Interface with minimal dependencies. [MIT]
implot
Immediate Mode Plotting widgets for imgui. [MIT]
- iup
Multi-platform toolkit for building graphical user interfaces. [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]
nuklear
A single-header ANSI C gui library. [PublicDomain]
- QCustomPlot
Qt plotting widget without further dependencies. [GPLv3]
- Qwt
Qt Widgets for Technical Applications. [Own based on LGPL]
- QwtPlot3D
A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib]
RmlUi
The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT]
Saucer
A modern, cross-platform C++ webview library. [MIT]
- Sciter
Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial]
Slint
Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary]
TGUI
Cross-platform modern c++ GUI. [Zlib]
WebUI
Use any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT]
wxCharts
A library to create charts in wxWidgets applications. [MIT]
- wxWidgets
A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL]
xtd
Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT]
Yue
A library for creating native cross-platform GUI apps. [LGPLv2]
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]
bgfx
A cross-platform rendering library. [BSD]
Blend2D
2D vector graphics engine powered by a JIT compiler. [Zlib]
- Cairo
A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL]
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
3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Proprietary]
herebedragons
A basic 3D scene implemented with various engines, frameworks or APIs. [MIT]
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]
- Irrlicht
A high performance realtime 3D engine written in C++. [zlib]
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]
micro-gl
Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM]
NanoVG
Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib]
- Ogre 3D
A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT]
- OpenSceneGraph
An open source high performance 3D graphics toolkit. [OSGPL]
OpenSubdiv
Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2]
- OpenVDB
Library and tools for storing, editing, and rendering volumetric datasets. [MPL2]
- Panda3D
A framework for 3D rendering and game development for Python and C++. [BSD]
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]
ThorVG
a platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT]
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]
Image Processing
Boost.GIL
Generic Image Library. [Boost]
BitmapPlusPLus
Simple and Fast header only Bitmap C++ library. [MIT]
- CImg
A small, open source, C++ toolkit for image processing. [Own LGPL or GPL]
- 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]
Dlib
A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost]
fpng
Super fast C++ .PNG writer/reader. [Unlicense]
- FreeImage
An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3]
GD
GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs]
- DCMTK
DICOM Toolkit
- GDCM
Grassroots DICOM library
- ITK
An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0]
- https://github.com/google/jpegli]
[Jpegli][ - an improved JPEG encoder and decoder implementation. [BSD-3-Clause]
Leptonica
Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause]
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]
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]
libspng
Simple, modern libpng alternative. [BSD-2]
libvips
A fast image processing library with low memory needs. [LGPL]
LodePNG
PNG encoder and decoder in C and C++. [Zlib]
- Magick++
ImageMagick program interfaces for C++. [Apache2]
- MagickWnd
ImageMagick program interfaces for C. [Apache2]
MozJPEG
Improved JPEG encoder. [BSD/BSD-3-Clause/ZLIB]
- OpenCV
Open source computer vision. [Apache2]
- OpenEXR
Cross-platform library for high dynamic range imaging. [Modified BSDF]
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]
QOI
The “Quite OK Image Format” for fast, lossless image compression. [MIT]
SAIL
Easy-to-use cross-platform image decoding library with pluggable image codecs. [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]
stb-image
STB single-header image loading library. [Public Domain]
- tesseract-ocr
An OCR engine. [Apache2]
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]
- VTK
Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD]
Internationalization
- gettext
GNU 'gettext'. [GPL2]
- IBM ICU
A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU]
- libiconv
An encoding conversion library between different character encodings. [GPL]
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]
Inter-process communication
- Apache Thrift
Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]
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]
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]
Cap'n Proto
Fast data interchange format and capability-based RPC system. [MIT]
eCAL
Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2]
gRPC
A high performance, open source, general-purpose RPC framework. [BSD]
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]
libjson-rpc-cpp
JSON-RPC framework for C++ servers and clients. [MIT]
nanomsg
A simple high-performance implementation of several "scalability protocols". [MIT]
nng
nanomsg-next-generation, a light-weight brokerless messaging library. [MIT]
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)
- xmlrpc-c
A lightweight RPC library based on XML and HTTP. [BSD]
JSON
Boost.PropertyTree
A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost]
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]
Glaze
Extremely fast, in memory, JSON and interface library for modern C++. [MIT]
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]
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]
json-parser
Very low footprint JSON parser written in portable ANSI C. [BSD]
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]
JSON Toolkit
JSON, JSON Pointer, JSON Schema, and JSONL library for C++20. [AGPL/Commercial]
jute
Very simple C++ JSON Parser. [PublicDomain]
libjson
A JSON parser and printer library in C. easy to integrate with any model. [LGPL]
- libjson
Lightweight JSON library. [?]
LIBUCL
Universal configuration library parser. [BSD-2-Clause]
parson
Parson is a lighweight json library written in C. [MIT]
PicoJSON
A header-file-only, JSON parser serializer in C++. [BSD]
qt-json
A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3]
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]
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]
- ujson
µjson is a a small, C++11, UTF-8, 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]
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]
BqLog
A lightweight, high-performance logging system used in projects such as "Honor of Kings". [Apache-2.0]
Easylogging++
Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT]
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]
- Log4cpp
A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL]
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]
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]
- P7Baical
An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL]
Quill
Asynchronous cross platform low latency logging library. [MIT]
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]
Dlib
A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost]
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]
flashlight
A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause]
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]
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]
Minerva
A fast and flexible system for deep learning. [Apache2]
mlpack
A scalable c++ machine learning library. [LGPLv3]
ncnn
A high-performance neural network inference computing framework optimized for mobile platforms. [BSD]
OpenCV
Open Source Computer Vision Library. [BSD]
oneDAL
A powerful machine learning library that helps speed up big data analysis. [Apache]
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]
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]
- sofia-ml
The suite of fast incremental algorithms for machine learning. [Apache2]
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]
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]
- Armadillo
Fast C++ library for linear algebra & scientific computing. [Apache2]
autodiff
A modern, fast and expressive C++ library for automatic differentiation. [MIT]
- blaze
high-performance C++ math library for dense and sparse arithmetic. [BSD]
Boost.Multiprecision
provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost]
- 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]
- cml
free C++ math library for games and graphics. [Boost]
CNL
A Compositional Numeric Library for C++. [Boost]
DirectXMath
An all inline SIMD C++ linear algebra library for use in games and graphics apps
Dlib
A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost]
- Eigen
A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2]
- 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]
- Geometric Tools
C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost]
GLM
Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT]
- GMTL
Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2]
- GMP
A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2]
Klein
A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT]
linalg.h
Single header, public domain, short vector math library for C++. [Unlicense]
MatX
A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause]
MIRACL
A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL]
NumCpp
A templatized header only C++ implementation of the Python Numpy library. [MIT]
- muparser
muParser is an extensible high performance math expression parser library written in C++. [MIT]
LibTomMath
A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL]
linmath.h
A lean linear math library, aimed at graphics programming. [WTFPL]
- lp_solve
A library used to formulate and solve linear programming problems. [LGPL]
OpenBLAS
An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause]
- 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]
QuantLib
A free/open-source library for quantitative finance. [Modified BSD]
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]
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]
- Wykobi
A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT]
xtensor
A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause]
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]
XAD
Powerful Automatic Differentiation for C++. [AGPL]
Memory Allocation
Boehm GC
Conservative garbage collector for C and C++. [similar to X11]
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]
jemalloc
General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD]
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]
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
- GStreamer
A library for constructing graphs of media-handling components. [LGPL]
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]
- LIVE555 Streaming Media
Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
- libVLC
libVLC (VLC SDK) media framework. [GPL]
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]
SDL
Simple DirectMedia Layer. [zlib]
SFML
Simple and Fast Multimedia Library. [zlib]
TagLib
A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL]
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.Asio
A cross-platform C++ library for network and low-level I/O programming. [Boost]
Boost.Beast
HTTP and WebSocket built on Boost.Asio in C++11. [Boost]
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
A collection of open-source libraries for high level network programming. [Boost]
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]
cpr
A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [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]
Dyad.c
Asynchronous networking for C. [MIT]
ENet
Reliable UDP networking library. [MIT]
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]
KCP
A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
- libcurl
Multiprotocol file transfer library. [MIT/X derivate license]
libhttpserver
C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1]
- 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+]
libpcap
A portable C/C++ library for network traffic capture. [BSD]
libquic
A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD]
librdkafka
Apache Kafka client library for C and C++. [BSD-2-Clause]
libwebsockets
A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception]
- Lithium
Build high performance C++ HTTP servers without being a C++ expert. [MIT]
- lwIP
A lightweight TCP/IP stack. [Modified BSD]
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]
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]
nghttp3
HTTP/3 library written in C. [MIT]
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]
PicoHTTPParser
A tiny, primitive, fast HTTP request/response parser. [MIT]
- POCO
C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost]
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]
RakNet
A cross platform, open source, C++ networking engine for game programmers. [BSD]
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]
Office Open XML
DuckX
C++ library for creating and modifying Microsoft Word (.docx) files. [MIT]
- FreeXL
an open source library to extract valid data from within Spreadsheets. [MPL/GPL-2/LGPL-2]
libxls
Read binary Excel files from C/C++ [BSD-2-Clause]
libxlsxwriter
A C library for creating Excel XLSX files. [BSD-2-Clause]
OpenXLSX
A C++ library for reading, writing, creating and modifying Microsoft Excel® (.xlsx) files. [BSD-3-Clause]
- SimpleXlsxWriter
XLSX files writer for Microsoft Excel 2007 and above. [zlib]
XLSX I/O
C library for reading and writing .xlsx files. [MIT]
libharu
A free, cross platform, open-sourced software library for generating PDF. [zlib]
- litePDF
Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib]
- MuPDF
A lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary]
PDF-Writer
High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0]
pdfio
A simple C library for reading and writing PDF files. [Apache-2]
- PDFium
PDF generation and rendering library. [BSD-3-Clause]
- PoDoFo
A library to work with the PDF file format. [LGPL]
- 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]
- DynaPDF
An easy-to-use PDF generation library. [Commercial]
Physics
Box2D
A 2D physics engine for games. [BSD-like]
Bullet
A 3D physics engine for games. [zlib]
Chipmunk
A fast and lightweight 2D game physics library. [MIT]
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]
LiquidFun
A 2D physics engine for games. [BSD-like]
Newton Dynamics
An integrated solution for real time simulation of physics environments. [zlib]
- ODE
Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL]
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]
Quantum++
A modern C++11 quantum computing library. [MIT]
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]
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]
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]
simple_enum
An Fast, Intuitive and Type-Safe C++ Enumeration Support Library. [BSL-1.0]
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]
- PCRE
A regular expression C library inspired by the regular expression capabilities in Perl. [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]
- SRELL
Unicode-aware regular expression template library for C++. [BSD]
Vectorscan
A portable fork of the high-performance regular expression matching library. [BSD-3-Clause]
Robotics
- MOOS-IvP
A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles
- MRPT
Mobile Robot Programming Toolkit. [BSD]
PCL
Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing. [BSD]
- Robotics Library (RL)
A self-contained C++ library for robot kinematics, motion planning and control. [BSD]
- RobWork
A collection of C++ libraries for simulation and control of robot systems. [Apache2]
- ROS
Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD]
Ruckig
Real-time motion generation for robots and machines. [MIT]
YARP (Yet Another Robot Platform)
Library and toolkit for communication and device interfaces. [BSD-3-Clause]
SPICE Toolkit
Library and toolkit for computing geometric information used in planning and analyzing science observations obtained from robotic spacecraft. [MIT]
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]
- FFTW
A C library for computing the DFT in one or more dimensions. [GPL]
- GSL
GNU scientific library. [GPL]
preCICE
Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL]
TileDB
Fast Dense and Sparse Multidimensional Array DBMS. [MIT]
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]
Scripting
- AngelScript
AngelScript is a game-oriented interpreted/compiled scripting language. [zlib]
Boost.Python
A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost]
cppimport
Import C++ files directly from Python! [MIT]
CppSharp
Tools and libraries to glue C/C++ APIs to high-level languages. [MIT]
ChaiScript
An easy to use embedded scripting language for C++. [BSD]
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]
- djinni
A tool for generating cross-language type declarations and interface bindings. [Apache2]
Duktape
An embeddable JavaScript engine with compact footprint. [MIT]
JavaCpp
The missing bridge between Java and native C++. [Apache2]
libffi
A portable foreign-function interface library. [MIT]
- Lua
A minimal and fast scripting engine for configuration files and basic application scripting. [MIT]
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]
- MiniScript
scripting language modern, elegant, easy to learn, and easy to embed in your own C# or C++ projects. [MIT]
nbind
Magical headers that make your C++ library accessible from JavaScript. [MIT]
PHP-CPP
A library to build PHP extensions with C++. [Apache2]
pocketpy
C++17 header-only Python interpreter for game scripting. [MIT]
pybind11
Seamless operability between C++11 and Python. [BSD]
- QuickJS
a small and embeddable JavaScript engine. [MIT]
- SIP
C or C++ Bindings Generator for Python v2 and v3. [GPL]
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]
txiki.js
A tiny JavaScript runtime. [MIT]
V7
An embedded JavaScript engine. [GPL2]
- V8
A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]
v8pp
Header-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST]
ChakraCore
-A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT]
Serialization
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]
Cap'n Proto
Fast data interchange format and capability-based RPC system. [MIT]
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]
- Kaitai Struct
A declarative language to describe various binary data structures and a compiler to generate C++ parser code. [GPLv3+][MIT][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]
mrpt-serialization
Versioned serialization to binary or text formats. [BSD]
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]
SimpleBinaryEncoding
encoding and decoding application messages in binary format for low-latency applications. [Apache2]
upb
A small protobuf implementation in C. [BSD]
Wirehair
O(N) Fountain Code for Large Data. [BSD-3-Clause]
YAS
Very fast et nother erialization library supports the binary/text/json formats. [Boost]
zpp_bits
Actually, the fastest modern erialization library. Just check
Serial Port
Asio
Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost]
Boost.Asio
Boost.Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost]
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]
Sorting
cpp-sort
Sorting algorithms & related tools for C++14. [MIT]
pdqsort
Pattern-defeating quicksort. [zlib]
Timsort
A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT]
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]
Video
- libvpx
VP8/VP9 Codec SDK. [BSD]
- FFmpeg
A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2]
avcpp
Modern C++ wrapper around FFmpeg. [MIT]
libde265
Open h.265 video codec implementation. [LGPL]
- x265
Open h.265 video codec implementation. [GPL2]
OpenH264
Open Source H.264 Codec. [BSD]
- Theora
A free and open video compression format. [BSD]
Vireo
A lightweight and versatile video processing library by Twitter. [MIT]
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]
C++ REST SDK
Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT]
- CppCMS
A Free High Performance Web Development Framework (not a CMS). [LGPLv3]
Crow
Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD]
Cutelyst
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [BSD-3-Clause]
Drogon
A C++14/17 based, high-performance HTTP application framework. [MIT]
C++ wfrest
C++ Web Framework REST API. [Apache2]
facil.io
Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT]
- Kore
ultra fast and flexible web server / framework for web applications developed in C. [ISC]
- libOnion
lightweight library to help you create webservers in C programming language. [LGPLv3]
lwan
Experimental, scalable, high performance HTTP server. [GPL2]
oat++
Light, zero-dependency framework to create high-performance web-services. [Apache-2.0]
- Pistache
Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
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]
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]
- Wt
A C++ library for developing web applications. [GPL/Proprietary]
XML
Boost.PropertyTree
A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost]
- Expat
An XML parser library written in C. [MIT]
- Libxml2
The XML C parser and toolkit of Gnome. [MIT]
- libxml++
An XML Parser for C++. [LGPL2]
Mini-XML
A small XML parsing library written in ANSI C. [LGPL2 with exceptions]
- PugiXML
A light-weight, simple and fast XML parser for C++ with XPath support. [MIT]
- RapidXml
An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost]
- TinyXML
A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib]
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]
- Xerces-C++
A validating XML parser written in a portable subset of C++. [Apache2]
Yaml
Miscellaneous
access_profiler
A tool to count accesses to member variables in c++ programs. [GPL3]
- American fuzzy lop
a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2]
Argon2
The password hash Argon2, winner of PHC. [CC0/Apache2]
- Better String
An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2]
Boost.Signals2
An implementation of a managed signals and slots system. [Boost]
- casacore
A set of c++ core libraries derived from aips++. [LGPL]
CCTZ
a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0]
- Cheat Sheets of HackingCPP
Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc
Concord
A Discord API wrapper library written in C. [MIT]
CPPItertools
Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause]
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
D++ (DPP)
A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2]
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]
- FastFormat
Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD]
fast_io
Significantly faster input/output for C++20. [MIT]
{fmt}
Small, safe and fast formatting library for C++. [Simplified BSD]
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
HighwayHash
Fast strong hash functions: SipHash/HighwayHash. [Apache-2.0]
icecream-cpp
A small printing library for debugging purposes. [MIT]
inja
A Template Engine for Modern C++. [MIT]
Jinja2С++
almost full-conformance template engine implementation
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]
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]
libsigc++
A typesafe callback system for standard C++. [LGPL]
- libusb
A universal USB library which allows for portable access to USB devices. [LGPL2]
Mach7
A Pattern-matching library for C++. [BSD]
mio
Cross-platform C++11 header-only library for memory mapped file IO. [MIT]
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]
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]
rapidhash
Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause]
- Remote Call Framework
Inter-process communication framework for C++. [GPL2/Proprietary]
reproc
A cross-platform (C99/C++11) process library. [MIT]
scnlib
scanf for modern C++. [Apache-2.0]
- Scintilla
A free source code editing component. [MIT]
SDS
Simple Dynamic Strings library for C. [BSD]
semver.c
A semver parser and render in ANSI C. [MIT]
- sigslot
C++ Signal/Slot Library. [PublicDomain]
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 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]
- StrTk
A C++ library consisting of high performance string processing routines. [MIT]
tgbotxx
Telegram Bot C++ Library. [MIT]
tiny::optional
Replacement for std::optional that does not waste memory unnecessarily. [BSL-1.0]
- Tulip Indicators
A C library of over 100 financial technical analysis indicators. [LGPL]
ub-canaries
A collection of C/C++ programs that try to get compilers to exploit undefined behavior
value-category-cheatsheet
A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft]
VarTypes
A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
Wildcards
A simple C++ header-only template library implementing matching using wildcards. [BSL-1.0]
- ZBar
A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2]
ZXing
An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache]
Software / Compiler
8cc
A Small C Compiler
c
Compile and execute C "scripts" in one go! [MIT]
- Clang
A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA]
- GCC
GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3]
- PCC
A very old C compiler. Supports C99
- Intel C++ Compiler
Developed by Intel
- LLVM
Collection of modular and reusable compiler and toolchain technologies
- Microsoft Visual C++
MSVC, developed by Microsoft
- 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]
- TCC
Tiny C Compiler. [LGPL]
Software / Online Compiler
- codechef
A simple online compiler CodeChef
- codepad
An online compiler/interpreter, and a simple collaboration tool
- coliru
Online compiler/shell with support for various C++ compilers
- Compiler Explorer
An interactive compiler with assembly output available
- CompileOnline
Compile and Execute C++ online on Linux
- Ideone
An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages
- Programiz
An online compiler for learners and developers
- repl.it
A powerful yet simple tools and platforms for educators, learners, and developers
- Rextester
Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors
- Try It Online
TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages
- Wandbox
An online Clang/GCC compiler with Boost available
- paiza.io
An online C/C++ compiler with multiple files supporting feature, GitHub(gist) integration and collaborative editing
- InterviewBit
A simple and easy to use online C++ compiler
Software / Debugger
- Comparison of debuggers
A list of Debuggers from Wikipedia
- GDB
GNU Debugger
- LLDB
The LLDB Debugger
- Metashell
An interactive template metaprogramming shell which includes the MDB metadebugger
- Valgrind
A tool for memory debugging, memory leak detection, and profiling
- x64dbg
An open-source x64/x32 debugger for windows
Software / Integrated Development Environment
- Anjuta DevStudio
The GNOME IDE. [GPL3]
- AppCode
an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform
- Cevelop
Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins
- CLion
Cross-platform C and C++ IDE from JetBrains
- Code::Blocks
A free C, C++ and Fortran IDE
- CodeLite
Another cross-platform, free C and C++ IDE. [GPL2 with an exception for plugins]
color_coded
A vim plugin for libclang-based highlighting. [MIT]
- Dev-C++
A portable C/C++/C++11 IDE
- Eclipse CDT
A fully functional C and C++ IDE based on the Eclipse platform
Embarcadero Dev-CPP
A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2]
- Geany
Small, fast, cross-platform IDE. [GPL]
- IBM VisualAge
A family of computer integrated development environments from IBM
Irony-mode
A C/C++ minor mode for Emacs powered by libclang
- juCi++
Cross-platform, lightweight C++ IDE with libclang integration. [MIT]
- KDevelop
A free, open source IDE
- Microsoft Visual Studio
An IDE from Microsoft
Microsoft Visual Studio Code
An open-source IDE from Microsoft. [MIT]
- NetBeans
An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5
Qt Creator
A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. [GPL3 with exceptions]
- Xcode
Developed by Apple
YouCompleteMe
YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim
cquery
A C++ code completion engine for vscode, emacs, vim, etc
- C Playground - Online C Programming IDE
An online IDE to practice C Programming where you can write, edit, and run code online
Software / Build Systems
- Bazel
A multi-language, fast and scalable build system from Google. [Apache]
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]
- build2
cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT]
- Ccache
A fast C/C++ compiler cache. [GPLv3]
clib
Package manager for the C programming language. [MIT]
- CMake
Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD]
Cget
Cmake package retrieval. [Boost]
- Conan
C/C++ Package Manager, open sourced. [MIT]
CPM
A C++ Package Manager based on CMake and Git
- FASTBuild
High performance, open-source build system supporting highly scalable compilation, caching and network distribution
- Hunter
CMake driven cross-platform package manager for C++. [BSD-2]
- MesonBuild
An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible
- Ninja
A small build system with a focus on speed
Sccache
A fast compiler cache for C/C++, with cross-platform support and cloud backed storage options
- Scons
A software construction tool configured with a Python script
- Sconsolidator
Scons build system integration for Eclipse CDT
- 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]
tundra
High-performance code build system designed to give the best possible incremental build times even for very large software projects
- tup
File-based build system that monitors in the background for changed files
- Premake
A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux
Vcpkg
C++ library manager for Windows, Linux, and MacOS. [MIT]
- waf
Python-based framework for configuring, compiling and installing applications. [BSD]
- XMake
A C/C++ cross-platform build utility based on Lua. [Apache]
Software / Static Code Analysis
- Cppcheck
A tool for static C/C++ code analysis. -
- 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
cpplint
A C++ style checker following Google's C++ style guide
- PVS-Studio
A tool for bug detection in the source code of programs, written in C, C++ and C#
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
Infer
A static analyzer for Java, C and Objective-C. [BSD]
- OCLint
A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. -
- Clang Static Analyzer
A source code analysis tool that finds bugs in C, C++, and Objective-C programs
- Linticator
Eclipse CDT integration of Pc-/FlexeLint
IKOS
Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3]
- List of tools for static code analysis
A list of tools for static code analysis from Wikipedia
OptView2
Inspect missed Clang optimizations
- Trunk
Toolkit to check, test, merge, and monitor code
Software / Coding Style Tools
- Artistic Style
A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle
- ClangFormat
A tool to format C/C++/Obj-C code
- Clang-Tidy
Clang-based C++ linter tool
- EditorConfig
EditorConfig helps maintain consistent coding styles across different editors and IDEs
Uncrustify
Code beautifier
Resources / API Design
Resources / 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
Resources / Books
Free C Books
vhf/free-programming-books/C
Free C++ Books
vhf/free-programming-books/C++
cppbestpractices
Collaborative Collection of C++ Best Practices
Resources / Coding Standards
Resources / Coding Style
C++ Core Guidelines
"Official" set of C++ guidelines, reviewed by the author of C++
- C++ Dos and Don'ts
The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts
google-styleguide
Style guides for Google-originated open-source projects
Resources / Podcasts
Resources / Talks
C++ Conferences
Catalog of C++ conferences
- CppCon Talks
The C++ conference
Quick game development with C++11/C++14
CppCon 2014 talk by Vittorio Romeo
- Meeting Cpp
Meeting C++ YouTube Channel
Resources / Videos
- Awesome C Programming Tutorials in Hi Def [HD]
A collection of detailed C Programming Language Tutorials for Beginners and New Programmers
- C++
by VoidRealms
- C++ Qt Programming
by VoidRealms
- C++ Programming Tutorials Playlist
TheNewBoston Official Buckys C++ Programming Tutorials Playlist
- C++ Programming Tutorials from thenewboston
These are all of thenewboston's C++ programming tutorials
- C++ GUI with Qt Playlist
Official Playlist for thenewboston C++ GUI with Qt tutorials
- Caleb Curry's C Programming Tutorials
An all-in-one playlist of tutorials for C programming
- C Programming Tutorials
All of TheNewBoston's C programming tutorials are right here
- Bo Qian's playlist
Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL,
- The Cherno's C++ Playlist
Extensive C++ tutorial series by The Cherno
- Code for Yourself C++ Playlist
A complete C++ course covering everything from fundamentals to software design
Resources / Websites
- Standard C++
News, Status & Discussion about Standard C++
- Build Bench
Compare C++ Builds
- Quick Bench
Quick C++ Benchmarks
- CppCon
The C++ Conference
- C++ reference
A complete online reference for the C and C++ languages and standard libraries
- C++ by Example
Learn C++ by Example
- cplusplus.com
The C++ Resources Network
- C FAQ
C frequently asked questions
- C++ FAQ
C++ frequently asked questions
- C++ FQA Lite
C++ frequently questioned answers
- C++ Quiz
A simple online quiz that you can use to test your knowledge of the C++ programming language
- Guru of the Week
A regular series of C++ programming problems created and written by Herb Sutter
- PVS-Studio’s challenge
PVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects
- C++ Hints
Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team
- C++ tutorial
A user ranked online tutorial bank site displaying multiple courses to learn C++ from
- C++ Tutorial for Beginners
A comprenhensive tutorial on C++ curated by trained experts
- cppexpert.online
Learn the best C++ practices by improving code snippets with some problems or with bad practices
- C++ for yourself
A comprehensive tutorial on modern C++ covering everything from fundamentals to software design
Resources / Weblogs
- Coding For Speed
Coding For Speed DOT COM, Less Execution Time
- ridiculousfish
Will It Optimize?
- C++ Team Blog
Dev blog from the Microsoft Visual C++ team
Resources / Other Awesome Projects
algorithms
Algorithms & Data Structures in C++
c-algorithms
C algorithms library
Other Awesome Lists
lists
List of (awesome) lists curated on GitHub
awesome-awesomeness
A curated list of awesome awesomeness
awesome
A curated list of awesome lists
C++ links
A categorized list of C++ resources
- Awesome C++
LibHunt's mirror
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
- Inqlude
The Qt library archive
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
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++
nothings/single_file_libs
List of single-file C/C++ libraries
Nothing in this list matches your filter.
Featured in 22 awesome lists
Each link jumps to the spot where the list mentions awesome-cpp.
sindresorhus/awesome
fffaraz/awesome-cpp
bayandin/awesome-awesomeness
enaqx/awesome-pentest
lnishan/awesome-competitive-programming
jobbole/awesome-cpp-cn
jnv/lists
emijrp/awesome-awesome
caerind/awesomecppgamedev
lyfeyaj/awesome-resources
jessetg/awesome-qt
stevinz/awesome-game-engine-dev
marcin214/awesome-automotive
fleveque/awesome-awesomes
waitin2010/awesome-computer-graphics
erichs/awesome-awesome
bradoyler/awesome-all
fffaraz/awesome-avr
flyhigher139/awesome-collection
szabgab/awesome-lists
coopermaa/awesome-awesome
0ex/more-awesome