awesome-cpp
C++ framework repository
A curated collection of C++ frameworks, libraries, and resources
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
61k stars
2k watching
8k forks
last commit: 11 months ago
Linked from 22 awesome lists
awesomeawesome-listcc-plus-pluscppcpp-librarycppconlibrarieslistlistsprogramming-tutorialresources
Awesome C++ / 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 | ||
Awesome C++ / Frameworks | |||
| abseil-cpp | 15,168 | 11 months ago | 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 | 1,688 | 11 months ago | The BDE Development Environment from Bloomberg Labs. [Apache2] |
| C++ Workflow | 13,291 | 11 months ago | C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] |
| CGraph | 1,815 | 11 months ago | 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 | 4,040 | about 1 year ago | 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 | 13,623 | 12 months ago | A toolkit for making real world machine learning and data analysis applications in C++. [Boost] |
| EASTL | 8,317 | about 1 year ago | Electronic Arts Standard Template Library. [BSD] |
| ETL | 2,274 | 11 months ago | Embedded Template Library. [MIT] |
| ffead-cpp | 707 | over 1 year ago | Framework for Enterprise Application Development. [Apache2] |
| Folly | 28,577 | 11 months ago | An open-source C++ library developed and used at Facebook. [Apache2] |
| FunctionalPlus | 2,141 | 12 months ago | 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 | 158 | about 1 year ago | A collection of std-like single-header C++ libraries [MIT] |
| JUCE | 6,731 | 11 months ago | An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] |
| Kigs framework | 83 | over 1 year ago | A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] |
| libPhenom | 1,660 | over 6 years ago | libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] |
| LibSourcey | 1,320 | almost 3 years ago | C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] |
| LibU | 443 | almost 3 years ago | A multiplatform utility library written in C. [BSD] |
| libxutils | 47 | 11 months ago | 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 | 37 | about 11 years ago | Minimal headers-only C++ Library. [Boost] |
| OpenFrameworks | 10,002 | 11 months ago | 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 | 168 | 12 months ago | Minimal Rust-inspired C++20 STL replacement. [MIT] |
| SaneCppLibraries | 526 | 11 months ago | a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT] |
| Seastar | 8,438 | 11 months ago | 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 | 4,906 | 11 months ago | 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 | 358 | 11 months ago | Fast, Orthogonal, Open multi-methods. Supersedes [Boost] |
Awesome C++ / Artificial Intelligence | |||
| ANNetGPGPU | 107 | about 4 years ago | A GPU (CUDA) based Artificial Neural Network library. [LGPL] |
| btsk | 457 | over 3 years ago | 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 | 1,078 | over 1 year ago | Header-only library for using Keras models in C++. [MIT] |
| Genann | 2,017 | over 1 year ago | Simple neural network library in C. [zlib] |
| MXNet | 20,791 | about 2 years ago | Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, JavaScript and more |
| PyTorch | 84,978 | 11 months ago | Tensors and Dynamic neural networks in Python with strong GPU acceleration |
| flashlight | 5,300 | 11 months ago | Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD] |
| Recast/Detour | 6,663 | about 1 year ago | (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib] |
| TensorFlow | 186,822 | 11 months ago | An open source software library for numerical computation using data flow graphs. [Apache] |
| oneDNN | 3,649 | 11 months ago | An open-source cross-platform performance library for deep learning applications. [Apache] |
| CNTK | 17,534 | over 2 years ago | Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] |
| tiny-dnn | 5,872 | over 3 years ago | A header only, dependency-free deep learning framework in C++11. [BSD] |
| Veles | 905 | almost 2 years ago | Distributed platform for rapid Deep learning application development. [Apache] |
| Kaldi | 14,362 | 11 months ago | Toolkit for speech recognition. [Apache] |
Awesome C++ / Asynchronous Event Loop | |||
| Asio | 5,016 | 11 months ago | 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 | 1,260 | 11 months ago | A cross-platform C++ library for network and low-level I/O programming. [Boost] |
| C++ Actor Framework | 3,210 | 11 months ago | An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] |
| Ichor | 205 | 12 months ago | 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 | 6,880 | 12 months ago | Cross-platform event loop library. [BSD] |
| libuv | 24,499 | 11 months ago | Cross-platform asynchronous I/O. [BSD] |
| promise-cpp | 680 | over 1 year ago | Header only library that implements Promise/A+ standard. [Anti-996] |
| uvw | 1,880 | 11 months ago | C++ wrapper for libuv. [MIT] |
| uv-cpp | 787 | almost 2 years ago | a simple interface, high-performance network library based on C++11. [MIT] |
Awesome C++ / Audio | |||
| Amplitude Audio SDK | 37 | 11 months ago | A cross-platform audio engine designed with the needs of games in mind. [Apache-2.0] |
| Aubio | 3,336 | about 1 year ago | A library for audio and music analysis.[GPL-3.0] |
| AudioFile | 975 | 12 months ago | A simple C++ library for reading and writing audio files. [MIT] |
| audioFlux | 2,940 | over 1 year ago | A C library for audio and music analysis, feature extraction. [MIT] |
| dr_libs | 1,285 | over 1 year ago | 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 | 1,483 | 12 months ago | C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] |
| libsoundio | 1,958 | over 1 year ago | C library for cross-platform real-time audio input and output. [MIT] |
| Maximilian | 1,597 | over 1 year ago | C++ Audio and Music DSP Library. [MIT] |
| OpenAL | Open Audio Library - A crossplatform audio API. [BSD/LGPL/Proprietary] | ||
| miniaudio | 4,151 | about 1 year ago | Single file audio playback and capture library. [Unlicense] |
| ni-media | 244 | about 1 year ago | 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 | 4,191 | about 1 year ago | Recurrent neural network for audio noise reduction. [BSD-3-Clause] |
| SELA | 210 | over 5 years ago | SimplE Lossless Audio. [MIT] |
| SoLoud | 1,812 | about 1 year ago | Easy, portable audio engine for games. [zlib] |
| Speex | A free codec for free speech. Obsoleted by Opus. [BSD] | ||
| Tonic | 523 | over 5 years ago | 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 | 1,621 | about 1 year ago | Public domain, header-only MP3 decoder with clean-room implementation. [CC0] |
| Verovio | 689 | 11 months ago | Verovio is a fast and lightweight music notation engraving library. [LGPL] |
| Wav2Letter++ | 6,398 | 11 months ago | 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] |
Awesome C++ / 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 | 628 | 11 months ago | A C++ library for parsing and manipulating VCF files. [MIT] |
| Wham | 104 | almost 3 years ago | Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT] |
Awesome C++ / BitTorrent | |||
| jech/dht | 700 | over 2 years ago | BitTorrent DHT library in C. [MIT] |
| libtorrent | 5,303 | 11 months ago | (a.k.a. libtorrent-rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD] |
| LibTorrent | 897 | 11 months ago | (a.k.a. libtorrent-rakshasa) - BitTorrent library. [GPL] |
| libutp | 1,115 | about 2 years ago | uTorrent Transport Protocol library. [MIT] |
Awesome C++ / Chemistry | |||
| d-SEAMS | 35 | about 1 year ago | 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 | 720 | 11 months ago | A message-passing parallel molecular dynamics implementation. [GPL] |
| Reaktoro | 169 | 11 months ago | A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] |
| LAMMPS | 2,274 | 11 months ago | 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 | 182 | 11 months ago | Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] |
| MPQC | 68 | about 2 years ago | 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 | 993 | 11 months ago | An ab initio computational chemistry package. [GPL] |
Awesome C++ / CLI | |||
| Argh! | 1,336 | over 1 year ago | A minimalist, frustration-free, header-only argument handler. [BSD] |
| argparse | 2,769 | 12 months ago | Argument Parser for Modern C++. [MIT] |
| args | 1,420 | 11 months ago | A simple header-only C++ argument parser library. [MIT] |
| barkeep | 150 | 11 months ago | Small C++ header to display async animations, counters, and progress bars. [Apache-2.0] |
| Boost.Program_options | 110 | 11 months ago | A library to obtain program options via conventional methods such as command line and config file. [Boost] |
| cli | 1,242 | about 1 year ago | A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost] |
| CLI11 | 3,428 | 11 months ago | Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] |
| clipp | 1,230 | over 1 year ago | Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT] |
| cpp-terminal | 539 | 11 months ago | Small header only C++ library for writing multiplatform terminal applications. [MIT] |
| Ctrl+C | 24 | 12 months ago | Crossplatform C++11 library to handle Ctrl+C event in custom functions. [MIT] |
| cxxopts | 4,270 | 11 months ago | Lightweight C++ command line option parser. [MIT] |
| docopt.cpp | 1,047 | over 1 year ago | A library to generate option parser from docstring. [MIT/Boost] |
| FINAL CUT | 1,014 | 11 months ago | Library for creating terminal applications with text-based widgets. [LGPL] |
| FTXUI | 7,070 | 11 months ago | C++ Functional Terminal User Interface. [MIT] |
| gflags | Commandline flags module for C++. [BSD] | ||
| imtui | 3,136 | over 1 year ago | Immediate Mode Text-based User Interface. [MIT] |
| indicators | 3,049 | about 1 year ago | Activity indicators for Modern C++. [MIT] |
| linenoise | 3,829 | about 1 year ago | A small self-contained alternative to readline and libedit. [BSD-2-Clause] |
| linenoise-ng | 359 | over 5 years ago | A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] |
| Lyra | 493 | about 1 year ago | A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] |
| Ncurses | A terminal user interface. [MIT] | ||
| oof | 833 | about 1 year ago | Convenient, high-performance RGB color and position control for console output. [MIT] |
| PDCurses | 1,057 | over 1 year ago | Public domain curses library with both source code and pre-compiled library available. [PublicDomain] |
| popl | 169 | over 2 years ago | A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT] |
| replxx | 692 | over 1 year ago | A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] |
| tabulate | 1,966 | over 1 year ago | Table Maker for Modern C++. [MIT] |
| TCLAP | A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] | ||
| termbox | 1,974 | about 5 years ago | A C library for writing text-based user interfaces. [MIT] |
| TermOx | 677 | over 1 year ago | C++17 Terminal User Interface(TUI) Library. [MIT] |
| tuibox | 138 | almost 2 years ago | A single-header terminal UI (TUI) library, capable of creating mouse-driven, interactive applications on the command line. [MIT] |
Awesome C++ / Compression | |||
| bit7z | 662 | 11 months ago | A C++ static library offering a clean and simple interface to the 7-zip shared libraries. [MPL2] |
| Brotli | 13,639 | 11 months ago | Brotli compression format. Developed by Google. [MIT] |
| bzip2 | A freely available, patent free, high-quality data compressor. [BSD] | ||
| bzip3 | 697 | 11 months ago | A better and stronger spiritual successor to BZip2. [LGPL] |
| FastLZ | 447 | over 1 year ago | Small & portable byte-aligned LZ77 compression. [MIT] |
| FiniteStateEntropy | 1,344 | over 1 year ago | New generation entropy codecs : Finite State Entropy and Huff0 |
| heatshrink | 1,334 | over 1 year ago | data compression library for embedded/real-time systems [ISC] |
| Kanzi | 140 | 11 months ago | 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 | 3,066 | 11 months ago | Multi-format archive and compression library. [New BSD] |
| LZ4 | 10,506 | 11 months ago | Extremely Fast Compression algorithm. [BSD] |
| LZFSE | 1,774 | about 3 years ago | 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 | 2,249 | 11 months ago | Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT] |
| Minizip | 1,249 | 11 months ago | Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] |
| minizip-ng | 1,249 | 11 months ago | 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 | 381 | 12 months ago | Gzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT] |
| smaz | 1,174 | about 6 years ago | Small strings compression library. [BSD] |
| Snappy | A fast compressor/decompressor. [BSD] | ||
| ZLib | A very compact compression library for data streams. [zlib] | ||
| zlib-ng | 1,592 | 11 months ago | zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib] |
| zstd | 23,936 | 11 months ago | Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD] |
| ZZIPlib | Provides read access on ZIP-archives. [MPL/LGPL] | ||
Awesome C++ / Concurrency | |||
| alpaka | 4 | over 5 years ago | Abstraction library for parallel kernel acceleration. [LGPLv3+] |
| ArrayFire | 4,587 | 11 months ago | A general purpose GPU library. [BSD] |
| Async++ | 1,356 | about 1 year ago | A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT] |
| Boost.Compute | 1,566 | 11 months ago | A C++ GPU Computing Library for OpenCL. [Boost] |
| Bolt | 372 | over 9 years ago | A C++ template library optimized for GPUs. [Apache2] |
| BS::thread_pool | 2,252 | over 1 year ago | A fast, lightweight, and easy-to-use C++17 thread pool library [MIT] |
| Channel | 421 | about 1 year ago | Thread-safe container for sharing data between threads. [MIT] |
| ck | 2,409 | 11 months ago | Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] |
| concurrentqueue | 10,134 | over 2 years ago | A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] |
| Coros | 310 | about 1 year ago | An easy-to-use and fast library for task-based parallelism, utilizing coroutines. [BSL-1.0] |
| CUB | 83 | over 1 year ago | CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD] |
| cuda-api-wrappers | 804 | 11 months ago | Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD] |
| cupla | 4 | over 5 years ago | C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] |
| C++React | 1,026 | over 4 years ago | A reactive programming library for C++11. [Boost] |
| FiberTaskingLib | 939 | over 1 year ago | Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache] |
| HPX | 2,548 | 11 months ago | A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] |
| Intel Games Task Scheduler | 449 | almost 3 years ago | A task scheduling framework designed for the needs of game developers. [MIT] |
| Intel Parallel STL | 727 | 11 months ago | Intel® implementation of C++17 STL for C++11 and above. [Apache2] |
| Intel TBB | Intel® Threading Building Blocks. [Apache2] | ||
| junction | 1,409 | about 5 years ago | A library of concurrent data structures in C++. [BSD] |
| Kokkos | 2,032 | 11 months ago | A performance portable programming model for parallel execution and memory abstraction. [BSD] |
| libcds | 2,571 | about 2 years ago | A C++ library of Concurrent Data Structures. [BSD] |
| Libclsph | 52 | over 9 years ago | An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] |
| libdill | 1,692 | over 1 year ago | Introduces structured concurrency in C. [MIT] |
| libdispatch | 2,478 | 11 months ago | 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 | 620 | about 1 year ago | A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines. [MPL-2.0] |
| libmill | 2,741 | over 4 years ago | Introduces Go-style concurrency in C. [MIT] |
| marl | 1,889 | 11 months ago | Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0] |
| moderngpu | 1,684 | over 3 years ago | 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 | 3,306 | about 1 year ago | Optimized primitives for collective multi-GPU communication. [BSD] |
| Neco | 1,152 | over 1 year ago | Concurrency library for C (coroutines). [MIT] |
| OpenCL | The open standard for parallel programming of heterogeneous systems | ||
| OpenMP | The OpenMP API | ||
| rotor | 349 | about 1 year ago | Event loop friendly C++ actor micro framework. [MIT] |
| SObjectizer | 497 | 11 months ago | An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause] |
| Quantum | 579 | about 1 year ago | 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 | 3,800 | over 1 year ago | A fast single-producer, single-consumer lock-free queue for C++. [BSD] |
| stdgpu | 1,177 | 11 months ago | Efficient STL-like Data Structures on the GPU. [Apache2] |
| Taskflow | 10,338 | 11 months ago | A General-purpose Parallel and Heterogeneous Task Programming System. (renamed from Cpp-Taskflow) [MIT] |
| ThreadPool | 8,013 | over 1 year ago | A simple C++11 Thread Pool implementation [zlib] |
| Thrust | A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] | ||
| transwarp | 623 | over 2 years ago | A header-only C++ library for task concurrency. [MIT] |
| VexCL | 704 | about 1 year ago | 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 | 2,347 | about 1 year ago | A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all |
Awesome C++ / Configuration | |||
| inifile-cpp | 374 | over 1 year ago | A header-only and easy to use Ini file parser for C++. [MIT] |
| inih | 2,506 | about 1 year ago | Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause] |
| inih | 440 | about 1 year ago | Single header only C++ version of . [BSD-3-Clause] |
| ini-cpp | 38 | 11 months ago | Single header only C++ version, with some handy read/write interface, extend from . [BSD-3-Clause] |
| iniparser | 984 | over 1 year ago | INI file parser. [MIT]* |
| inipp | 285 | about 1 year ago | Simple header-only C++ ini parser and generator. [MIT] |
| libconfig | 1,130 | 11 months ago | C, C++ library for processing structured configuration files. [LGPL-2.1] |
| libconfuse | 482 | over 1 year ago | Small configuration file parser library for C. [ISC] |
| mINI | 542 | about 1 year ago | INI file reader and writer. [MIT] |
| simpleini | 1,137 | 11 months ago | Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] |
| toml++ | 1,605 | 12 months ago | Header-only TOML parser and serializer for C++17 and later. [MIT] |
| toml11 | 1,054 | 11 months ago | a C++11 (or later) header-only toml parser/encoder depending only on C++ standard library. [MIT] |
Awesome C++ / Containers | |||
| C++ B-tree | 74 | over 11 years ago | A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] |
| dynamic_bitset | 155 | 11 months ago | Simple Useful Libraries: C++17/20 header-only dynamic bitset. [MIT] |
| fixed-containers | 395 | 11 months ago | Header-only C++20 library that provides fixed capacity constexpr containers. [MIT] |
| flat_hash_map | 1,721 | about 2 years ago | A very fast flat hashtable with Fibonacci hashing |
| frozen | 1,342 | about 1 year ago | a header-only, constexpr alternative to gperf for C++14 users. [Apache-2.0] |
| Hashmaps | 254 | almost 4 years ago | Implementation of open addressing hash table algorithms in C++. [MIT] |
| hat-trie | 796 | about 1 year ago | C++ implementation of a fast and memory efficient HAT-trie. [MIT] |
| Hopscotch map | 731 | about 1 year ago | A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] |
| LSHBOX | 286 | over 8 years ago | A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] |
| parallel-hashmap | 2,587 | 11 months ago | A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] |
| PGM-index | 792 | 11 months ago | 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 | 400 | 11 months ago | 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 | 150 | 12 months ago | A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] |
| plf::stack | 64 | 12 months ago | A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] |
| ring_span lite | 154 | over 1 year ago | A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT] |
| robin-hood-hashing | 1,536 | over 2 years ago | Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT] |
| robin-map | 1,294 | about 1 year ago | Fast hash map and hash set using robin hood hashing. [MIT] |
| sparsepp | 1,257 | over 2 years ago | A fast, memory efficient hash map for C++. [BSD 3-clause] |
| st_tree | 96 | over 3 years ago | A fast and flexible c++ template class for tree data structures. [Apache-2.0] |
| svector | 97 | over 1 year ago | Compact SVO optimized vector for C++17 or higher. [MIT] |
| tree.hh | 135 | over 1 year ago | An STL-like C++ header-only tree library. [GPL2+] |
| unordered_dense | 968 | 11 months ago | A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT] |
Awesome C++ / 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++ | 4,939 | over 1 year ago | A free C++ class library of cryptographic schemes. [Boost] |
| digestpp | 198 | over 1 year ago | 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 | 12,372 | 11 months ago | P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC] |
| libhydrogen | 637 | 12 months ago | A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC] |
| LibTomCrypt | 1,587 | 11 months ago | A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL] |
| mbedTLS | 5,594 | 11 months ago | 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 | 26,159 | 11 months ago | A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] |
| retter | 99 | over 8 years ago | A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography |
| s2n | 4,544 | 11 months ago | An implementation of the TLS/SSL protocols. [Apache] |
| sha1collisiondetection | 1,329 | over 1 year ago | Library and command line tool to detect SHA-1 collision in a file. [MIT] |
| Tink | 13,511 | over 1 year ago | 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 | 4,329 | about 1 year ago | Small portable AES128/192/256 in C. [PublicDomain] |
| Themis | 1,879 | about 1 year ago | crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] |
| HEhub | 91 | almost 3 years ago | A library for homomorphic encryption and its applications. [Apache2] |
Awesome C++ / CSV | |||
| commata | 13 | 11 months ago | Just another header-only C++17 CSV parser. [Unlicense] |
| csv2 | 567 | almost 2 years ago | Fast CSV parser for modern C++. [MIT] |
| Csv::Parser | 30 | over 1 year ago | Compile-time and runtime CSV parser written in C++17. [Zlib] |
| Fast C++ CSV Parser | 2,167 | about 1 year ago | Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause] |
| Glaze | 1,414 | 11 months ago | High performance, header only, CSV library with reflection support. [MIT] |
| lazycsv | 80 | over 1 year ago | A fast, lightweight and single-header csv parser for modern C++. [MIT] |
| ssp | 51 | over 1 year ago | A header only "csv" parser which is fast and versatile with modern C++ api. [MIT] |
| Vince's CSV Parser | 926 | over 1 year ago | A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] |
Awesome C++ / Database | |||
| ClickHouse | 308 | 12 months ago | C++ client for ClickHouse DBMS. [Apache2] |
| CrossDB | 193 | 12 months ago | Ultra High-performance Lightweight Embedded and Server OLTP RDBMS. [MPL-2.0] |
| DuckDB | in-process SQL OLAP Database Management System. [MIT] | ||
| hiberlite | 714 | over 2 years ago | C++ Object-relational mapping for sqlite3. [BSD] |
| Hiredis | 6,283 | 12 months ago | A minimalistic C client library for the Redis database. [BSD] |
| Infinity | 2,780 | 11 months ago | The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] |
| Kuzu | 1,454 | 11 months ago | Embeddable property graph database management system built for query speed and scalability. Implements Cypher. [MIT] |
| Kvrocks | 3,612 | 11 months ago | A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] |
| LevelDB | 36,769 | about 1 year ago | A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] |
| libpg_query | 1,216 | 11 months ago | C library for accessing the PostgreSQL parser outside of the server environment. [BSD-3-Clause] |
| libpqxx | 1,049 | 11 months ago | The official C++ client API for PostgreSQL. [BSD-3-Clause] |
| LMDB | Very fast embedded key/value store with full ACID semantics. [OpenLDAP] | ||
| LMDB++ | 273 | almost 5 years ago | C++11 wrapper for the LMDB embedded database library. [PublicDomain] |
| mgclient | 38 | about 1 year ago | C/C++ Memgraph Client. [Apache2] |
| MongoDB C Driver | 817 | 11 months ago | MongoDB client library for C. [Apache2] |
| MongoDB C++ Driver | 1,048 | 11 months ago | C++ driver for MongoDB. [Apache2] |
| MongoDB Libbson | 347 | about 5 years ago | A BSON utility library. [Apache2] |
| MySQL++ | A C++ wrapper for MySQL's C API. [LGPL] | ||
| nanodbc | 340 | about 1 year ago | 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 | 190 | over 6 years ago | Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] |
| Reindexer | 776 | 11 months ago | Embeddable, in-memory, document-oriented database with a high-level Query builder interface. [Apache2] |
| RocksDB | 28,801 | 11 months ago | Embedded key-value store for fast storage from facebook. [BSD] |
| SimDB | 537 | almost 2 years ago | High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2] |
| SOCI | 1,430 | 12 months ago | A database abstraction layer for C++. [Boost] |
| Speedb | 925 | over 1 year ago | 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++ | 2,275 | about 1 year ago | SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] |
| sqlite_modern_cpp | 905 | over 1 year ago | Header only C++14 wrapper around sqlite library. [MIT] |
| sqlite_orm | 2,330 | 11 months ago | SQLite ORM light header only library for modern C++. [AGPL + paid MIT] |
| sqlpp11 | 2,483 | 11 months ago | A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause] |
| TileDB | 1,878 | 11 months ago | Fast Dense and Sparse Multidimensional Array DBMS. [MIT] |
| TinyORM | 259 | 11 months ago | Modern C++ ORM library. [MIT] |
| UnQLite | 2,125 | over 1 year ago | 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) | 10 | 11 months ago | TigerBeetle is a financial accounting database designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] |
| Trilogy | 715 | 11 months ago | a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding. [MIT] |
| UStore | 556 | about 2 years ago | Multi-Modal database for BLOBs, JSON, and graphs. [Apache2] |
| Velox | 3,557 | 11 months ago | A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] |
Awesome C++ / Data visualization | |||
| matplotplusplus | 4,356 | about 1 year ago | C++ Graphics Library for Data Visualization. [MIT] |
Awesome C++ / Debug | |||
| backward-cpp | 3,834 | over 1 year ago | 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 | 9,113 | 11 months ago | Google provided small microbenchmark support library. [Apache2] |
| Boost.Test | 183 | 11 months ago | Boost Test Library. [Boost] |
| check | 1,081 | over 1 year ago | Check is a unit testing framework for C. [LGPL-2.1] |
| doctest | 6,010 | 11 months ago | The lightest feature rich C++ single header testing framework. [MIT] |
| Catch2 | 18,841 | 12 months ago | A modern, C++-native, test framework for unit-tests, TDD and BDD. [Boost] |
| Celero | 828 | about 1 year ago | C++ Benchmarking Framework. [Apache2] |
| cpp-dump | 308 | about 1 year ago | A C++ library for debugging purposes that can print any variable, even user-defined types. [MIT] |
| CppUTest | 1,380 | 11 months ago | 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 | 285 | over 1 year ago | Performance benchmark framework for C++ with nanoseconds measure precision. [MIT] |
| Cpptrace | 754 | 11 months ago | 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] | ||
| dbg-macro | 3,019 | almost 2 years ago | A dbg(…) macro for C++. [MIT] |
| DebugViewPP | 1,043 | over 1 year ago | Debug logging viewer. [Boost] |
| Deleaker | A tool for resource leak detection, including memory, GDI and handle leaks | ||
| FakeIt | 1,267 | about 1 year ago | Simple mocking framework for C++. [MIT] |
| fff | 794 | about 2 years ago | A micro-framework for creating fake C functions. [MIT] |
| Google Mock | 35,046 | 11 months ago | A library for writing and using C++ mock classes. [BSD] |
| Google Test | 35,046 | 11 months ago | Google C++ Testing Framework. [BSD] |
| ig-debugheap | 181 | almost 10 years ago | Multiplatform debug heap useful for tracking down memory errors. [BSD] |
| libassert | 557 | 11 months ago | The most over-engineered C++ assertion library. [MIT] |
| libtap | 252 | almost 2 years ago | Write tests in C. [GPL2] |
| microprofile | 1,472 | about 1 year ago | Profiler with web-view for multiple platforms. [Unlicense] |
| MinUnit | 578 | about 2 years ago | 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 | 1,459 | about 1 year ago | Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] |
| Nanotimer | 135 | over 1 year ago | A simple low-overhead cross-platform timer class for benchmarking. [zLib] |
| Nonius | 361 | over 5 years ago | A C++ micro-benchmarking framework. [CC] |
| Remotery | 3,160 | about 1 year ago | Single C File Profiler with Web Viewer. [Apache2] |
| snitch | 269 | 11 months ago | Lightweight C++20 testing framework. [Boost] |
| Touca | 498 | about 1 year ago | Open-source regression testing system that you can self-host. [Apache2] |
| UnitTest++ | 557 | almost 2 years ago | A lightweight unit testing framework for C++. [MIT/X Consortium license] |
| Unity | 4,162 | about 1 year ago | Simple Unit Testing for C. [MIT] |
| utest.h | 853 | about 1 year ago | Single header unit testing framework for C and C++. [Unlicense] |
| μt | 1,274 | 12 months ago | 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++ | ||
Awesome C++ / Documentation | |||
| Doxide | 65 | 11 months ago | Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0] |
| doxygen | 5,742 | 11 months ago | The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] |
| doxyrest | 306 | over 1 year ago | A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT] |
| hdoc | 311 | about 1 year ago | The modern documentation tool for C++. [AGPL/Proprietary] |
| Natural Docs | 203 | 11 months ago | Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Proprietary] |
| Sphinx | 6,658 | 11 months ago | Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] |
Awesome C++ / DSP | |||
| DSPFilters | 1,873 | about 2 years ago | 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 | 653 | 11 months ago | IIR Realtime C++ filter library. [MIT] |
| kissfft | 1,506 | about 1 year ago | A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid. [BSD-3-Clause] |
| pocketfft | 79 | 11 months ago | FFT implementation based on FFTPack, but with several improvements. [BSD-3-Clause] |
| wavelib | 385 | 12 months ago | C implementation of 1D and 2D wavelet transforms. [BSD-3-Clause] |
Awesome C++ / Font | |||
| Fontconfig | Font configuration and customization library. [MIT] | ||
| FreeType | FreeType is a freely available software library to render fonts. [FTL & GPLv2] | ||
| otfcc | 428 | over 3 years ago | A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] |
| harfbuzz | 4,200 | 11 months ago | A text shaping engine. [Old MIT] |
| libschrift | 479 | over 1 year ago | A lightweight TrueType font rendering library. [ISC] |
Awesome C++ / Game Engine | |||
| Acid | 1,780 | about 2 years ago | 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 | 946 | 11 months ago | 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 | 1,838 | over 1 year ago | A game engine written in pure C, SDL and OpenGL. [BSD] |
| crown | 2,164 | 11 months ago | 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 | 10,370 | 11 months ago | Gaming meets modern C++. [MIT] |
| GamePlay | 4,521 | over 1 year ago | A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] |
| Godot | 91,977 | 11 months ago | A fully featured, open source, MIT licensed, game engine. [MIT] |
| Grit | 114 | over 7 years ago | Community project to build a free game engine for implementing open world 3D games. [MIT] |
| Halley | 3,634 | 11 months ago | A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] |
| JNGL | 273 | 11 months ago | 2D library for Linux, Windows, macOS, Android, iOS, Xbox, the Nintendo Switch and the Web. [zlib] |
| KlayGE | 2,105 | about 1 year ago | a cross-platform open source game engine with plugin-based architecture. [GPLv2] |
| nCine | 1,092 | 11 months ago | A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] |
| o3de | 7,924 | 11 months ago | An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] |
| OpenXRay | 3,082 | 11 months ago | 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 | 4,573 | 11 months ago | A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] |
| PixelGameEngine | 3,869 | 12 months ago | The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] |
| Polycode | 2,382 | over 1 year ago | A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] |
| quakeforge | 44 | 11 months ago | Actively maintained branch of the original Quake engine code with 20+ years of development. [GPL-2.0] |
| raylib | 23,267 | 11 months ago | A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] |
| Spring | 3,604 | over 1 year ago | A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] |
| Torque2D | 1,253 | about 1 year ago | An open-source and cross-platform C++ engine built for 2D game development. [MIT] |
| Torque3D | 1,547 | 11 months ago | An open-source C++ engine built for 3D game development. [MIT] |
| toy engine | 1,567 | over 4 years ago | 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 | 1,439 | 11 months ago | 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] |
Awesome C++ / Graph | |||
| CXXGraph | 485 | 11 months ago | free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] |
| Graaf | 187 | 11 months ago | A general-purpose lightweight C++20 graph library. [MIT] |
Awesome C++ / GUI | |||
| Boden | 1,688 | almost 4 years ago | Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary] |
| CEGUI | Flexible, cross-platform GUI library | ||
| Elements | 3,219 | about 1 year ago | 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 | 2,354 | 11 months ago | 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 | 61,793 | 11 months ago | Immediate Mode Graphical User Interface with minimal dependencies. [MIT] |
| implot | 4,885 | about 1 year ago | Immediate Mode Plotting widgets for imgui. [MIT] |
| iup | Multi-platform toolkit for building graphical user interfaces. [MIT] | ||
| libui | 10,745 | over 1 year ago | Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] |
| MyGUI | 733 | 12 months ago | Fast, flexible and simple GUI. [MIT] |
| nana | Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] | ||
| NanoGui | 1,592 | over 1 year ago | A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] |
| nuklear | 9,406 | 11 months ago | 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 | 2,931 | 11 months ago | The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] |
| Saucer | 307 | 11 months ago | 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 | 17,859 | 11 months ago | Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] |
| TGUI | 839 | 11 months ago | Cross-platform modern c++ GUI. [Zlib] |
| WebUI | 3,137 | 11 months ago | Use any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT] |
| wxCharts | 133 | about 1 year ago | 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 | 814 | 11 months ago | 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 | 3,464 | 12 months ago | A library for creating native cross-platform GUI apps. [LGPLv2] |
Awesome C++ / Graphics | |||
| assimp | 11,088 | 11 months ago | 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 | 15,197 | 11 months ago | A cross-platform rendering library. [BSD] |
| Blend2D | 1,649 | 11 months ago | 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 | 63 | about 4 years ago | A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] |
| Diligent Engine | 3,655 | 11 months ago | A modern cross-platform low-level 3D graphics library. [Apache2] |
| DirectXTK | 2,599 | 11 months ago | A collection of helper classes for writing DirectX 11.x code in C++. [MIT] |
| GLFW | 13,201 | 11 months ago | A simple, cross-platform OpenGL wrangling library. [zlib/libpng] |
| GLFWPP | 98 | over 2 years ago | A thin modern C++17 header-only wrapper for GLFW. [MIT] |
| Harfang 3D | 586 | about 2 years ago | 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Proprietary] |
| herebedragons | 1,733 | over 1 year ago | A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] |
| Horde3D | 1,551 | about 1 year ago | A small 3D rendering and animation engine. [EPL] |
| Ion | 1,427 | over 3 years ago | 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 | 4,617 | 11 months ago | Simple C++ geometry processing library. [MPL2] |
| LLGL | 2,113 | 11 months ago | Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] |
| LunaSVG | 921 | 11 months ago | a standalone SVG rendering library in C++. [MIT] |
| magnum | 4,831 | 11 months ago | Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] |
| micro-gl | 280 | about 1 year ago | Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] |
| NanoVG | 5,214 | over 1 year ago | 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 | 2,905 | 11 months ago | 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 | 463 | over 1 year ago | Library for wrangling particle data, with support for most common file formats. [Modified BSD] |
| Skia | 9,364 | 11 months ago | A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] |
| ThorVG | 792 | 11 months ago | a platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT] |
| TinySpline | 1,219 | about 1 year ago | A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] |
| urho3d | 4,569 | almost 3 years ago | Cross-platform rendering and game engine. [Many different, mostly MIT] |
| Yocto/GL | 2,835 | over 1 year ago | Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] |
Awesome C++ / Image Processing | |||
| Boost.GIL | 178 | 11 months ago | Generic Image Library. [Boost] |
| BitmapPlusPLus | 36 | 11 months ago | 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 | 13,623 | 12 months ago | A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] |
| fpng | 891 | about 1 year ago | 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 | 906 | about 1 year ago | 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 | 1,821 | 11 months ago | Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] |
| libavif | 1,589 | 11 months ago | Library for encoding and decoding .avif files. [BSD-2-Clause] |
| libfacedetection | 12,351 | about 1 year ago | Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] |
| libjpeg-turbo | 3,816 | 11 months ago | A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] |
| libjxl | 2,742 | 11 months ago | JPEG XL image format reference implementation. [BSD-3-Clause] |
| libpng | 1,315 | about 1 year ago | the reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. [libpng-2.0] |
| libspng | 749 | over 1 year ago | Simple, modern libpng alternative. [BSD-2] |
| libvips | 53 | about 4 years ago | A fast image processing library with low memory needs. [LGPL] |
| LodePNG | 2,120 | 11 months ago | PNG encoder and decoder in C and C++. [Zlib] |
| Magick++ | ImageMagick program interfaces for C++. [Apache2] | ||
| MagickWnd | ImageMagick program interfaces for C. [Apache2] | ||
| MozJPEG | 5,484 | about 1 year ago | 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 | 1,992 | 11 months ago | Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] |
| OpenJPEG | 985 | 11 months ago | an open-source JPEG 2000 codec written in C language. [BSD-2-Clause] |
| QOI | 6,994 | about 1 year ago | The “Quite OK Image Format” for fast, lossless image compression. [MIT] |
| SAIL | 311 | about 1 year ago | Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] |
| Simd | 2,077 | 11 months ago | 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 | 27,210 | 12 months ago | STB single-header image loading library. [Public Domain] |
| tesseract-ocr | An OCR engine. [Apache2] | ||
| TinyDNG | 156 | 12 months ago | Header-only Tiny DNG/TIFF loader and writer in C++. [MIT] |
| TinyEXIF | 114 | about 2 years ago | Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] |
| TinyTIFF | 144 | over 1 year ago | lightweight TIFF reader/writer library. [GPL-3.0] |
| Video++ | 721 | over 6 years ago | A C++14 high performance video and image processing library. [MIT] |
| VIGRA | 412 | about 1 year ago | 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] | ||
Awesome C++ / 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 | 1,220 | 11 months ago | Unicode routines (UTF8, UTF16, UTF32): billions of characters per second using SSE2, AVX2, NEON, AVX-512. [Apache-2/MIT] |
| uni-algo | 285 | almost 2 years ago | Unicode Algorithms Implementation for C/C++. [Unlicense or MIT] |
| utf8.h | 1,758 | about 1 year ago | Single header utf8 string functions for C and C++. [Unlicense] |
| utf8proc | 1,069 | about 1 year ago | A clean C library for processing UTF-8 Unicode data. [MIT] |
Awesome C++ / 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 | 139 | 11 months ago | 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 | 16,597 | 11 months ago | 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 | 11,788 | 11 months ago | Fast data interchange format and capability-based RPC system. [MIT] |
| eCAL | 11 | over 3 years ago | Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] |
| gRPC | 42,124 | 11 months ago | A high performance, open source, general-purpose RPC framework. [BSD] |
| Ice | 2,060 | 11 months ago | Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] |
| iceoryx | 1,713 | 11 months ago | 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 | 956 | almost 2 years ago | JSON-RPC framework for C++ servers and clients. [MIT] |
| nanomsg | 6,014 | over 1 year ago | A simple high-performance implementation of several "scalability protocols". [MIT] |
| nng | 3,884 | 11 months ago | nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] |
| rpclib | 1,728 | over 1 year ago | A modern C++ msgpack-RPC server and client library. [MIT] |
| simple-rpc-cpp | 37 | about 10 years ago | A simple RPC wrapper generator to C/C++ functions. [BSD] |
| SRPC | 1,969 | 11 months ago | 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] | ||
Awesome C++ / JSON | |||
| Boost.PropertyTree | 55 | 11 months ago | A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] |
| cJSON | 10,938 | about 1 year ago | Ultralightweight JSON parser in ANSI C. [MIT] |
| DAW JSON Link | 479 | 12 months ago | Fast, convenient JSON serialization and parsing in C++. [BSL-1.0] |
| frozen | 709 | almost 2 years ago | JSON parser and generator for C/C++. [GPL & GPL2] |
| Glaze | 1,414 | 11 months ago | Extremely fast, in memory, JSON and interface library for modern C++. [MIT] |
| Jansson | 3,100 | about 1 year ago | C library for encoding, decoding and manipulating JSON data. [MIT] |
| jbson | 38 | almost 10 years ago | jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] |
| JeayeSON | 132 | almost 9 years ago | A very sane (header only) C++ JSON library. [BSD] |
| Jsmn | 3,726 | over 1 year ago | A minimalistic JSON parser in C. [MIT] |
| json | 43,665 | 11 months ago | JSON for Modern C++. [MIT] |
| JSON++ | 540 | over 4 years ago | A JSON parser in C++. [MIT] |
| json.cpp | 664 | 11 months ago | a baroque JSON parsing / serialization library for C++. [Apache-2.0] |
| json.h | 719 | over 1 year ago | A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] |
| json-build | 38 | 11 months ago | C89 tiny zero-allocation JSON serializer. [MIT] |
| json-c | 2,997 | 11 months ago | A JSON implementation in C. [MIT] |
| jsoncons | 730 | 11 months ago | A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] |
| JsonCpp | 8,223 | 11 months ago | A C++ library for interacting with JSON. [MIT] |
| Jsonifier | 60 | 11 months ago | A few classes for parsing and serializing objects from/into JSON - very rapidly. [MIT] |
| jsonParse | 11 | about 6 years ago | A simple JSON parser in ANSI C. [MIT] |
| json-parser | 1,286 | over 1 year ago | Very low footprint JSON parser written in portable ANSI C. [BSD] |
| json11 | 2,555 | over 5 years ago | A tiny JSON library for C++11. [MIT] |
| json-struct | 427 | about 1 year ago | High performance, single header JSON parser parsing to and from C++ structs. [MIT] |
| json-voorhees | 129 | over 1 year ago | JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2] |
| JSON Toolkit | 43 | 11 months ago | JSON, JSON Pointer, JSON Schema, and JSONL library for C++20. [AGPL/Commercial] |
| jute | 72 | over 4 years ago | Very simple C++ JSON Parser. [PublicDomain] |
| libjson | 282 | over 1 year ago | A JSON parser and printer library in C. easy to integrate with any model. [LGPL] |
| libjson | Lightweight JSON library. [?] | ||
| LIBUCL | 1,635 | over 1 year ago | Universal configuration library parser. [BSD-2-Clause] |
| parson | 1,367 | over 1 year ago | Parson is a lighweight json library written in C. [MIT] |
| PicoJSON | 1,119 | over 1 year ago | A header-file-only, JSON parser serializer in C++. [BSD] |
| qt-json | 330 | over 7 years ago | A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] |
| QJson | 288 | about 2 years ago | A qt-based library that maps JSON data to QVariant objects. [LGPL2] |
| RapidJSON | 14,426 | 11 months ago | A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] |
| sajson | 568 | about 4 years ago | Lightweight, extremely high-performance JSON parser for C++11. [MIT] |
| simdjson | 19,455 | 11 months ago | Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] |
| Sonic-Cpp | 861 | 12 months ago | A fast JSON serializing & deserializing library, accelerated by SIMD. [Apache-2.0] |
| taoJSON | 605 | 11 months ago | Zero-dependency C++ header-only JSON library. [MIT] |
| ujson | µjson is a a small, C++11, UTF-8, JSON library. [MIT] | ||
| UltraJSON | 4,348 | 11 months ago | Ultra fast JSON decoder and encoder written in C. [BSD-3-Clause] |
| YAJL | 2,156 | over 1 year ago | A fast streaming JSON parsing library in C. [ISC] |
| yyjson | 3,164 | 11 months ago | A high performance JSON library written in ANSI C. [MIT] |
Awesome C++ / Logging | |||
| Blackhole | 201 | almost 7 years ago | Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] |
| Boost.Log | 183 | 11 months ago | Designed to be very modular and extensible. [Boost] |
| BqLog | 257 | 11 months ago | A lightweight, high-performance logging system used in projects such as "Honor of Kings". [Apache-2.0] |
| Easylogging++ | 3,813 | over 1 year ago | Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] |
| fmtlog | 814 | about 1 year ago | A performant fmtlib-style logging library with latency in nanoseconds. [MIT] |
| G3log | 910 | about 1 year ago | Asynchronous logger with Dynamic Sinks. [PublicDomain] |
| glog | 7,136 | 12 months ago | C++ implementation of the Google logging module |
| haclog | 73 | about 1 year ago | 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 | 1,656 | 11 months ago | A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] |
| loguru | 1,797 | over 1 year ago | A lightweight C++ logging library. [PublicDomain] |
| lwlog | 230 | 11 months ago | Very fast synchronous and asynchronous C++17 logging library. [MIT] |
| plog | 2,242 | 11 months ago | Portable and simple log for C++ in less than 1000 lines of code. [MPL2] |
| reckless | 491 | about 2 years ago | Low-latency, high-throughput, asynchronous logging library for C++. [MIT] |
| spdlog | 24,698 | 11 months ago | 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 | 1,775 | 11 months ago | Asynchronous cross platform low latency logging library. [MIT] |
Awesome C++ / Machine Learning | |||
| Caffe | 34,149 | over 1 year ago | A fast framework for neural networks. [BSD] |
| catboost | 8,139 | 11 months ago | A fast, scalable, high performance Gradient Boosting on Decision Trees library. [Apache2] |
| CCV | 7,102 | 11 months ago | C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] |
| darknet | 25,894 | over 1 year ago | Open source neural network framework written in C and CUDA. [PublicDomain] |
| Dlib | 13,623 | 12 months ago | A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] |
| FAISS | 31,920 | 11 months ago | A library for efficient similarity search and clustering of dense vectors. [MIT] |
| Fido | 442 | almost 6 years ago | A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] |
| flashlight | 5,300 | 11 months ago | 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 | 11,362 | 11 months ago | Tensor library for machine learning with 16-bit and 4-bit quantization support. [MIT] |
| libsvm | 4,586 | about 1 year ago | A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] |
| m2cgen | 2,826 | about 1 year ago | A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT] |
| MeTA | 698 | over 2 years ago | A modern C++ data sciences toolkit. [MIT] |
| Minerva | 701 | about 7 years ago | A fast and flexible system for deep learning. [Apache2] |
| mlpack | 5,151 | 11 months ago | A scalable c++ machine learning library. [LGPLv3] |
| ncnn | 20,655 | 11 months ago | A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] |
| OpenCV | 79,662 | 11 months ago | Open Source Computer Vision Library. [BSD] |
| oneDAL | 619 | 11 months ago | A powerful machine learning library that helps speed up big data analysis. [Apache] |
| ONNX runtime | 14,990 | 11 months ago | 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 | 266 | over 3 years ago | C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] |
| RNNLIB | 900 | over 5 years ago | RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] |
| SHOGUN | 3,032 | almost 2 years ago | The Shogun Machine Learning Toolbox. [GPLv3] |
| sofia-ml | The suite of fast incremental algorithms for machine learning. [Apache2] | ||
| USearch | 2,311 | 11 months ago | Fast search and clustering library for vectors and strings. [Apache2] |
| VLFeat | 1,605 | about 3 years ago | The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] |
| xgboost | 26,396 | 11 months ago | 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] |
Awesome C++ / Math | |||
| Apophenia | 200 | almost 6 years ago | A C library for statistical and scientific computing. [GPL2] |
| Armadillo | Fast C++ library for linear algebra & scientific computing. [Apache2] | ||
| autodiff | 1,682 | 12 months ago | 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 | 202 | 11 months ago | 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 | 5,058 | 11 months ago | Collection of efficient and reliable geometric algorithms. [LGPL&GPL] |
| cml | free C++ math library for games and graphics. [Boost] | ||
| CNL | 645 | over 1 year ago | A Compositional Numeric Library for C++. [Boost] |
| DirectXMath | 1,564 | 11 months ago | An all inline SIMD C++ linear algebra library for use in games and graphics apps |
| Dlib | 13,623 | 12 months ago | 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 | 9,418 | about 1 year ago | 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 | 763 | over 1 year ago | 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 | 875 | over 2 years ago | Single header, public domain, short vector math library for C++. [Unlicense] |
| MatX | 1,229 | 11 months ago | A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause] |
| MIRACL | 655 | over 4 years ago | A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] |
| NumCpp | 3,608 | about 1 year ago | 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 | 659 | 12 months ago | A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] |
| linmath.h | 932 | over 2 years ago | A lean linear math library, aimed at graphics programming. [WTFPL] |
| lp_solve | A library used to formulate and solve linear programming problems. [LGPL] | ||
| OpenBLAS | 6,453 | 11 months ago | 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 | 5,480 | 11 months ago | A free/open-source library for quantitative finance. [Modified BSD] |
| SimSIMD | 1,141 | 11 months ago | Vector distance functions for x86 AVX2, AVX-512, Arm NEON, and SVE. [Apache2] |
| StatsLib | 533 | over 2 years ago | A C++ header-only library of statistical distribution functions. [Apache2] |
| SymEngine | 1,184 | 11 months ago | Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT] |
| TinyExpr | 1,619 | about 1 year ago | A C library for parsing and evaluating math expressions from strings. [zlib] |
| Vc | 1,461 | over 1 year ago | SIMD Vector Classes for C++. [BSD] |
| Versor | A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc) | ||
| Wagyu | 166 | over 1 year ago | 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 | 3,388 | 12 months ago | A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] |
| universal | 424 | 11 months ago | 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 | 337 | 11 months ago | Powerful Automatic Differentiation for C++. [AGPL] |
Awesome C++ / Memory Allocation | |||
| Boehm GC | 3,024 | 11 months ago | Conservative garbage collector for C and C++. [similar to X11] |
| C Smart Pointers | 1,608 | about 3 years ago | Smart pointers for the (GNU) C programming language. [MIT] |
| Hoard | 1,115 | over 1 year ago | Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [Apache-2.0] |
| jemalloc | 9,628 | 11 months ago | General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] |
| memory | 1,499 | over 1 year ago | STL compatible C++ memory allocator library. [ZLib] |
| memory-allocators | 1,769 | over 1 year ago | Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] |
| mimalloc | 10,694 | 11 months ago | A compact general purpose allocator with excellent performance. [MIT] |
| rpmalloc | 2,186 | over 1 year ago | Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain] |
| snmalloc | 1,585 | 11 months ago | Message passing based high-performance allocator. [MIT] |
| TCMalloc | 4,450 | 11 months ago | Google's fast, multi-threaded malloc implementation. [Apache-2.0] |
| buddy_alloc | 155 | 11 months ago | A single header buddy memory allocator for C with bounded allocation costs. [0BSD] |
| tgc | 972 | over 2 years ago | A tiny garbage collector for C written in ~500 LOC. [BSD] |
Awesome C++ / Multimedia | |||
| GStreamer | A library for constructing graphs of media-handling components. [LGPL] | ||
| libass | 951 | 11 months ago | Portable subtitle renderer for the ASS/SSA subtitle format. [ISC] |
| libav | 1,086 | over 4 years ago | 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 | 642 | 11 months ago | Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD] |
| QtAv | 4,001 | over 2 years ago | A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] |
| SDL | 10,516 | 11 months ago | Simple DirectMedia Layer. [zlib] |
| SFML | 10,340 | 11 months ago | Simple and Fast Multimedia Library. [zlib] |
| TagLib | 1,196 | 12 months ago | A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] |
Awesome C++ / Networking | |||
| ada | 1,396 | 11 months ago | 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 | 1,260 | 11 months ago | A cross-platform C++ library for network and low-level I/O programming. [Boost] |
| Boost.Beast | 4,392 | 11 months ago | HTTP and WebSocket built on Boost.Asio in C++11. [Boost] |
| Breep | 141 | almost 7 years ago | Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] |
| C++ REST SDK | 8,041 | 11 months ago | C++ REST SDK (previously named Casablanca). [Apache2] |
| Restbed | 1,932 | about 1 year ago | C++11 Asynchronous RESTful framework. [AGPL] |
| Restinio | 1,169 | 11 months ago | A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD] |
| c-ares | 1,886 | 11 months ago | A C library for asynchronous DNS requests. [MIT] |
| cpp-httplib | 13,307 | 11 months ago | 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 | 140 | over 5 years ago | URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [Boost] |
| CppServer | 1,446 | over 1 year ago | 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 | 6,633 | 11 months ago | A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] |
| curlcpp | 634 | about 2 years ago | An object oriented C++ wrapper for CURL(libcurl). [MIT] |
| curlpp | 1,689 | over 1 year ago | -C++ wrapper around libcURL. [MIT] |
| DPDK | 3,439 | 11 months ago | Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] |
| Dyad.c | 1,442 | about 5 years ago | Asynchronous networking for C. [MIT] |
| ENet | 2,788 | 12 months ago | Reliable UDP networking library. [MIT] |
| evpp | 3,616 | over 1 year ago | C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] |
| FTP client for C++ | 215 | over 2 years ago | C++ client for making FTP requests. [MIT] |
| H2O | 10,940 | 11 months ago | An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT] |
| HTTP Parser | 6,361 | over 3 years ago | A http request/response parser for C. [MIT] |
| KCP | 15,484 | 11 months ago | A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT] |
| libcurl | Multiprotocol file transfer library. [MIT/X derivate license] | ||
| libhttpserver | 899 | over 1 year ago | 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 | 2,733 | 11 months ago | A portable C/C++ library for network traffic capture. [BSD] |
| libquic | 1,786 | about 3 years ago | A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] |
| librdkafka | 332 | 11 months ago | Apache Kafka client library for C and C++. [BSD-2-Clause] |
| libwebsockets | 4,820 | 11 months ago | 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 | 392 | 11 months ago | mailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols. [BSD] |
| Mongoose | 11,234 | 11 months ago | Extremely lightweight webserver. [GPL2] |
| MQTT-C | 789 | over 1 year ago | A portable MQTT C client for embedded systems and PCs alike. [MIT] |
| mTCP | 2,015 | over 1 year ago | Highly scalable user-level TCP stack for multicore systems. [Modified BSD] |
| Muduo | 14,935 | about 1 year ago | A C++ non-blocking network library for multi-threaded server in Linux. [BSD] |
| nghttp2 | 4,663 | 11 months ago | HTTP/2 C Library. [MIT] |
| nghttp3 | 873 | 11 months ago | HTTP/3 library written in C. [MIT] |
| Onion | 2,028 | about 3 years ago | HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] |
| PF_RING™ | 2,718 | 11 months ago | High-speed packet processing framework. [LGPL-2.1] |
| PicoHTTPParser | 1,859 | over 1 year ago | 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 | 8,168 | 11 months ago | Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] |
| RedPanda | 9,780 | 11 months ago | Streaming data platform for developers. Kafka API compatible. 10x faster. [BSL] |
| RakNet | 3,323 | almost 4 years ago | A cross platform, open source, C++ networking engine for game programmers. [BSD] |
| restclient-cpp | 1,576 | almost 2 years ago | Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] |
| Seasocks | 740 | about 1 year ago | Simple, small, C++ embeddable webserver with WebSockets support. [BSD] |
| tlse | 578 | 11 months ago | Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause] |
| TQUIC | 1,148 | 12 months ago | A high-performance, lightweight, and cross-platform QUIC library, exposed to C and C++. [Apache2] |
| Tufão | 591 | over 3 years ago | An asynchronous web framework for C++ built on top of Qt. [LGPL2] |
| uriparser | 339 | 11 months ago | Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] |
| uWebSockets | 17,520 | 11 months ago | µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] |
| UCall | 1,154 | about 1 year ago | A high-performance SIMD-accelerated RPC library on io_uring. [Apache2] |
| WAFer | 694 | almost 8 years ago | A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] |
| Wangle | 3,059 | 11 months ago | A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] |
| wdt | 2,877 | 11 months ago | 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++ | 7,127 | about 1 year ago | C++/Boost Asio based websocket client/server library. [BSD] |
| PcapPlusPlus | 2,761 | 11 months ago | a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] |
| ZeroMQ | 9,817 | 11 months ago | High-speed, modular asynchronous communication library. [LGPL3/MPL2] |
Awesome C++ / Office Open XML | |||
| DuckX | 430 | over 1 year ago | 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 | 444 | 11 months ago | Read binary Excel files from C/C++ [BSD-2-Clause] |
| libxlsxwriter | 1,538 | 11 months ago | A C library for creating Excel XLSX files. [BSD-2-Clause] |
| OpenXLSX | 1,405 | 11 months ago | 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 | 438 | over 1 year ago | C library for reading and writing .xlsx files. [MIT] |
Awesome C++ / PDF | |||
| libharu | 1,788 | about 1 year ago | 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 | 909 | 11 months ago | High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] |
| pdfio | 204 | 11 months ago | 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] | ||
Awesome C++ / Physics | |||
| Box2D | 8,402 | 11 months ago | A 2D physics engine for games. [BSD-like] |
| Bullet | 12,777 | about 1 year ago | A 3D physics engine for games. [zlib] |
| Chipmunk | 2,227 | over 1 year ago | A fast and lightweight 2D game physics library. [MIT] |
| Jolt Physics | 6,950 | 11 months ago | A multi core friendly rigid body physics and collision detection library. [MIT] |
| Kratos | 1,054 | 11 months ago | framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] |
| LiquidFun | 4,739 | over 2 years ago | A 2D physics engine for games. [BSD-like] |
| Newton Dynamics | 954 | 12 months ago | 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 | 321 | about 2 years ago | openFrameworks wrapper for Box2D. [BSD-like] |
| PhysX | 2,353 | almost 3 years ago | An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] |
| PlayRho | 133 | over 1 year ago | An interactive physics engine & library. [Zlib] |
| Project Chrono | 2,266 | 11 months ago | An open source multi-physics simulation engine. [BSD-3-Clause] |
| Quantum++ | 549 | 11 months ago | A modern C++11 quantum computing library. [MIT] |
| QuarkPhysics | 198 | 11 months ago | A 2D Soft Body and Rigid Body Physics Engine. [MIT] |
| Simbody | 2,344 | 11 months ago | High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] |
| SOFA | 941 | 11 months ago | SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] |
Awesome C++ / Reflection | |||
| config-loader | 222 | over 2 years ago | A C++17 static reflection framework, from parse configuration file to native data structure. [MIT] |
| Better Enums | 1,687 | over 1 year ago | Reflective enums (to string, iteration). Single header. [BSD] |
| clReflect | 276 | over 2 years ago | C++ Reflection using clang. [MIT] |
| CPFG | 220 | over 3 years ago | A C++03 library for reflection, callback and script binding. [Apache2] |
| CPP-Reflection | 671 | about 6 years ago | C++ Reflection using clang. [MIT] |
| Easy Reflection | 99 | about 2 years ago | Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache] |
| Magic Enum | 5,042 | 11 months ago | 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 | 207 | almost 2 years ago | std::tuple like methods for user defined types without any macro or boilerplate code. [Boost] |
| meta | 599 | over 5 years ago | Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] |
| Nameof | 2,106 | about 1 year ago | Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] |
| Ponder | 649 | about 3 years ago | A C++11 library for reflection. [MIT] |
| REFLECT | 330 | about 1 year ago | C++20 Static Reflection library. [MIT] |
| reflect-cpp | 1,165 | 11 months ago | Serialization through reflection, including automatic field name retrieval from structs. [MIT] |
| RTTR | 3,208 | over 1 year ago | A C++11 library for reflection. [MIT] |
| simple_enum | 22 | 11 months ago | An Fast, Intuitive and Type-Safe C++ Enumeration Support Library. [BSL-1.0] |
| TSMP | 97 | over 1 year ago | 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 | 506 | over 2 years ago | A miniature library for struct-field reflection in C++. [Boost] |
| Refureku | 227 | about 1 year ago | A C++17 runtime reflection and code generation library. [MIT] |
Awesome C++ / Regular Expression | |||
| CppVerbalExpressions | 382 | about 6 years ago | C++ regular expressions made easy. [MIT] |
| CTRE | 3,404 | about 1 year ago | A Compile time PCRE (almost) compatible regular expression matcher. [MIT] |
| Hyperscan | 4,857 | over 1 year ago | 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 | 2,331 | 12 months ago | 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 | 332 | about 5 years ago | Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0] |
| RE2 | 9,023 | 11 months ago | A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] |
| SLRE | 535 | about 5 years ago | Super Light Regexp engine for C/C++. [GPLv2/Proprietary] |
| sregex | 617 | about 4 years ago | 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 | 515 | 12 months ago | A portable fork of the high-performance regular expression matching library. [BSD-3-Clause] |
Awesome C++ / 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 | 10,071 | 11 months ago | 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 | 747 | 11 months ago | Real-time motion generation for robots and machines. [MIT] |
| YARP (Yet Another Robot Platform) | 530 | 11 months ago | Library and toolkit for communication and device interfaces. [BSD-3-Clause] |
| SPICE Toolkit | 20 | over 3 years ago | Library and toolkit for computing geometric information used in planning and analyzing science observations obtained from robotic spacecraft. [MIT] |
Awesome C++ / Scientific Computing | |||
| AMGCL | 751 | over 1 year ago | a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT] |
| Au | 331 | 11 months ago | 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 | 765 | 11 months ago | Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] |
| TileDB | 1,878 | 11 months ago | Fast Dense and Sparse Multidimensional Array DBMS. [MIT] |
| Trilinos | 1,225 | 11 months ago | High performance PDE solvers. [BSD] |
| Torch | 9,001 | about 3 years ago | A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] |
Awesome C++ / Scripting | |||
| AngelScript | AngelScript is a game-oriented interpreted/compiled scripting language. [zlib] | ||
| Boost.Python | 476 | 11 months ago | A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] |
| cppimport | 1,195 | over 1 year ago | Import C++ files directly from Python! [MIT] |
| CppSharp | 3,153 | about 1 year ago | Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] |
| ChaiScript | 2,961 | over 1 year ago | An easy to use embedded scripting language for C++. [BSD] |
| ctypes.sh | 2,109 | over 1 year ago | A foreign function interface for bash. [MIT] |
| Cython | 9,606 | 11 months ago | 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 | 5,971 | over 1 year ago | An embeddable JavaScript engine with compact footprint. [MIT] |
| JavaCpp | 4,519 | 12 months ago | The missing bridge between Java and native C++. [Apache2] |
| libffi | 3,240 | 11 months ago | A portable foreign-function interface library. [MIT] |
| Lua | A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] | ||
| LuaBridge | 1,656 | 11 months ago | A lightweight, dependency-free library for binding Lua to C++. [MIT] |
| LuaBridge3 | 257 | about 1 year ago | A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT] |
| luacxx | 157 | over 7 years ago | 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 | 1,980 | over 6 years ago | Magical headers that make your C++ library accessible from JavaScript. [MIT] |
| PHP-CPP | 1,430 | about 1 year ago | A library to build PHP extensions with C++. [Apache2] |
| pocketpy | 1,656 | 11 months ago | C++17 header-only Python interpreter for game scripting. [MIT] |
| pybind11 | 15,935 | 11 months ago | 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 | 4,282 | 12 months ago | A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] |
| SWIG | 5,828 | 11 months ago | 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 | 2,590 | 11 months ago | A tiny JavaScript runtime. [MIT] |
| V7 | 1,429 | almost 5 years ago | An embedded JavaScript engine. [GPL2] |
| V8 | A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] | ||
| v8pp | 913 | over 1 year ago | Header-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST] |
| ChakraCore | 9,136 | about 1 year ago | -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] |
Awesome C++ / Serialization | |||
| Bitsery | 1,090 | over 1 year ago | Header only C++ binary serialization library. [MIT] |
| Bond | 2,615 | 12 months ago | An open source, cross-platform framework for working with schematized data. [MIT] |
| Boost.Serialization | 122 | 11 months ago | Boost Serialization Library. [Boost] |
| Cap'n Proto | 11,788 | 11 months ago | Fast data interchange format and capability-based RPC system. [MIT] |
| cereal | 4,257 | about 1 year ago | A C++11 library for serialization. [BSD] |
| cista | 1,852 | 11 months ago | A C++17 library for zero-copy high-performance (de-)serialization. [MIT] |
| cppcodec | 624 | about 3 years ago | Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] |
| FastBinaryEncoding | 889 | over 1 year ago | Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] |
| FlatBuffers | 23,472 | 12 months ago | 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 | 1,130 | 11 months ago | a modern, universal and easy-to-use serialization engine developed in C++20 and C++17. [Apache2] |
| MessagePack | 3,041 | about 1 year ago | Efficient binary serialization format "like JSON" for C and C++. [Apache2] |
| mrpt-serialization | 1,972 | 11 months ago | Versioned serialization to binary or text formats. [BSD] |
| nanopb | 4,415 | 11 months ago | Small code-size Protocol Buffers implementation in ANSI C. [Zlib] |
| protobuf | 65,999 | 11 months ago | Protocol Buffers - Google's data interchange format. [BSD] |
| protobuf-c | 2,709 | over 1 year ago | Protocol Buffers implementation in C. [BSD] |
| Protocol Puffers | 157 | 11 months ago | A little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20. [Apache-2.0] |
| SimpleBinaryEncoding | 3,136 | 11 months ago | encoding and decoding application messages in binary format for low-latency applications. [Apache2] |
| upb | 1,504 | 11 months ago | A small protobuf implementation in C. [BSD] |
| Wirehair | 272 | almost 2 years ago | O(N) Fountain Code for Large Data. [BSD-3-Clause] |
| YAS | 734 | over 1 year ago | Very fast et nother erialization library supports the binary/text/json formats. [Boost] |
| zpp_bits | 755 | 12 months ago | Actually, the fastest modern erialization library. Just check |
Awesome C++ / Serial Port | |||
| Asio | 5,016 | 11 months ago | Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost] |
| Boost.Asio | 1,260 | 11 months ago | Boost.Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost] |
| CSerialPort | 745 | 11 months ago | lightweight cross-platform serial port library. [LGPL3] |
| Libserial | 427 | about 1 year ago | Serial Port Programming in C++. [BSD-3-Clause] |
| Serial Communication Library | 2,172 | about 1 year ago | Cross-platform, Serial Port library written in C++. [MIT] |
Awesome C++ / Sorting | |||
| cpp-sort | 629 | about 1 year ago | Sorting algorithms & related tools for C++14. [MIT] |
| pdqsort | 2,381 | almost 2 years ago | Pattern-defeating quicksort. [zlib] |
| Timsort | 303 | 11 months ago | A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] |
| Indiesort | 19 | over 1 year ago | 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] |
Awesome C++ / Video | |||
| libvpx | VP8/VP9 Codec SDK. [BSD] | ||
| FFmpeg | A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2] | ||
| avcpp | 461 | 12 months ago | Modern C++ wrapper around FFmpeg. [MIT] |
| libde265 | 1,727 | 12 months ago | Open h.265 video codec implementation. [LGPL] |
| x265 | Open h.265 video codec implementation. [GPL2] | ||
| OpenH264 | 5,597 | 11 months ago | Open Source H.264 Codec. [BSD] |
| Theora | A free and open video compression format. [BSD] | ||
| Vireo | 936 | about 4 years ago | A lightweight and versatile video processing library by Twitter. [MIT] |
Awesome C++ / Virtual Machines | |||
| CarpVM | 981 | almost 5 years ago | "interesting" VM in C. Let's see how this goes. [GPLv3] |
| MicroPython | 19,551 | 11 months ago | Aims to put an implementation of Python 3.x on a microcontroller. [MIT] |
| TinyVM | 3,207 | over 6 years ago | A small, fast, lightweight virtual machine written in pure ANSI C. [MIT] |
Awesome C++ / Web Application Framework | |||
| Civetweb | 2,929 | 12 months ago | Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] |
| C++ REST SDK | 8,041 | 11 months ago | 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 | 3,379 | 11 months ago | Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] |
| Cutelyst | 921 | 11 months ago | A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [BSD-3-Clause] |
| Drogon | 11,701 | 11 months ago | A C++14/17 based, high-performance HTTP application framework. [MIT] |
| C++ wfrest | 896 | 11 months ago | C++ Web Framework REST API. [Apache2] |
| facil.io | 2,178 | 11 months ago | 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 | 5,946 | about 1 year ago | Experimental, scalable, high performance HTTP server. [GPL2] |
| oat++ | 7,958 | 11 months ago | 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 | 269 | over 7 years ago | 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 | 1,297 | 11 months ago | 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 | 2,479 | 11 months ago | 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] | ||
Awesome C++ / XML | |||
| Boost.PropertyTree | 55 | 11 months ago | 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 | 454 | 12 months ago | 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 | 5,139 | 11 months ago | A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib] |
| TinyXML++ | 92 | over 3 years ago | A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] |
| Xalan C | 29 | over 1 year ago | 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] | ||
Awesome C++ / Yaml | |||
| mini-yaml | 222 | over 2 years ago | Single header YAML 1.0 C++11 serializer/deserializer. [MIT] |
| yaml-cpp | 5,212 | 12 months ago | A YAML parser and emitter in C++. [MIT] |
| rapidyaml | 592 | 12 months ago | Rapid YAML is a C++ library to parse and emit YAML. [MIT] |
Awesome C++ / Miscellaneous | |||
| access_profiler | 74 | almost 12 years ago | 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 | 4,837 | about 1 year ago | 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 | 77 | 11 months ago | An implementation of a managed signals and slots system. [Boost] |
| casacore | A set of c++ core libraries derived from aips++. [LGPL] | ||
| CCTZ | 597 | 12 months ago | 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 | 528 | 11 months ago | A Discord API wrapper library written in C. [MIT] |
| CPPItertools | 1,372 | about 1 year ago | Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] |
| cpp-lazy | 340 | 11 months ago | a fast and easy lazy evaluation library for C++11/14/17/20. [MIT] |
| CRCpp | 343 | over 1 year ago | Easy to use and fast C++ CRC library. [BSD-3-Clause] |
| cxx-prettyprint | 561 | almost 3 years ago | A pretty printing library for C++ containers. [Boost] |
| date | 3,190 | 11 months ago | A date and time library based on the C++11/14/17 |
| D++ (DPP) | 1,092 | 11 months ago | A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] |
| DynaMix | 673 | about 1 year ago | A library which allows you to compose and modify objects at run time. [MIT] |
| emio | 133 | 11 months ago | A safe and fast high-level and low-level character input/output library. [MIT] |
| faker-cxx | 325 | 11 months ago | C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] |
| fast_float | 1,643 | 11 months ago | 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 | 689 | 11 months ago | Significantly faster input/output for C++20. [MIT] |
| fccf | 362 | about 1 year ago | A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] |
| {fmt} | 20,980 | 11 months ago | Small, safe and fast formatting library for C++. [Simplified BSD] |
| gcc-poison | 189 | almost 12 years ago | A simple header file for developers to ban unsafe C/C++ functions from applications |
| happly | 325 | over 1 year ago | A C++ header-only parser for the PLY file format. Parse .ply happily! [MIT] |
| hedley | 794 | about 1 year ago | A C/C++ header file designed to smooth over some platform-specific annoyances |
| HighwayHash | 1,549 | over 1 year ago | Fast strong hash functions: SipHash/HighwayHash. [Apache-2.0] |
| icecream-cpp | 585 | 11 months ago | A small printing library for debugging purposes. [MIT] |
| inja | 1,689 | about 1 year ago | A Template Engine for Modern C++. [MIT] |
| Jinja2С++ | 505 | 12 months ago | almost full-conformance template engine implementation |
| jwt-cpp | 928 | 12 months ago | A header only library for creating and validating JSON web tokens in C++. [MIT] |
| Kangaru | 504 | 12 months ago | A dependency injection container for C++11 and C++14. [MIT] |
| Klib | 4,227 | over 1 year ago | Small and lightweight implementations of common algorithms and data structures. [MIT] |
| libcpuid | 461 | 11 months ago | A small C library for x86 CPU detection and feature extraction. [BSD] |
| libenvpp | 130 | 11 months ago | A modern C++ library for type-safe environment variable parsing. [Apache-2.0] |
| libevil | 29 | almost 14 years ago | The Evil License Manager. [GPLv3] |
| libnih | 89 | almost 4 years ago | A lightweight library of C functions and structures. [GPL2.1] |
| libsigc++ | 390 | 11 months ago | A typesafe callback system for standard C++. [LGPL] |
| libusb | A universal USB library which allows for portable access to USB devices. [LGPL2] | ||
| Mach7 | 1,286 | about 4 years ago | A Pattern-matching library for C++. [BSD] |
| mio | 1,729 | over 1 year ago | Cross-platform C++11 header-only library for memory mapped file IO. [MIT] |
| MPH | 181 | 11 months ago | C++20 [Minimal] Static Perfect Hash library. [MIT] |
| PEGTL | 1,957 | 11 months ago | The Parsing Expression Grammar Template Library. [MIT] |
| Pipes | 808 | about 1 year ago | Pipelines for expressive code on collections in C++. [MIT] |
| pprint | 912 | over 5 years ago | Pretty Printer for Modern C++. [MIT] |
| pspsdk | 887 | 11 months ago | An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] |
| QtVerbalExpressions | 64 | over 10 years ago | This Qt lib is based off of the C++ VerbalExpressions library. [MIT] |
| RapidFuzz | 250 | 11 months ago | Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] |
| rapidhash | 234 | 11 months ago | Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause] |
| Remote Call Framework | Inter-process communication framework for C++. [GPL2/Proprietary] | ||
| reproc | 562 | over 1 year ago | A cross-platform (C99/C++11) process library. [MIT] |
| scnlib | 1,098 | 12 months ago | scanf for modern C++. [Apache-2.0] |
| Scintilla | A free source code editing component. [MIT] | ||
| SDS | 4,955 | over 1 year ago | Simple Dynamic Strings library for C. [BSD] |
| semver.c | 185 | over 5 years ago | A semver parser and render in ANSI C. [MIT] |
| sigslot | C++ Signal/Slot Library. [PublicDomain] | ||
| SimpleSignal | 165 | over 6 years ago | High performance C++11 signals. [PublicDomain] |
| Stage | 404 | over 4 years ago | Mobile robot simulator. [GPL2] |
| stb | 27,210 | 12 months ago | A range of single-file libraries for C/C++. [PublicDomain] |
| stdman | 939 | over 1 year ago | A tool that parses archived HTML files from and generates groff-formatted manual pages for Unix-based systems. [MIT] |
| StringZilla | 2,290 | 11 months ago | 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 | 11 | 11 months ago | Telegram Bot C++ Library. [MIT] |
| tiny::optional | 107 | 11 months ago | 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 | 176 | over 6 years ago | A collection of C/C++ programs that try to get compilers to exploit undefined behavior |
| value-category-cheatsheet | 406 | over 2 years ago | A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] |
| VarTypes | 16 | over 7 years ago | A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] |
| Wildcards | 80 | over 1 year ago | 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 | 32,916 | 11 months ago | An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] |
Software / Compiler | |||
| 8cc | 6,166 | over 1 year ago | A Small C Compiler |
| c | 2,107 | almost 2 years ago | 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 | 870 | over 1 year ago | 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 | 2,631 | over 1 year ago | 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 | 912 | about 2 years ago | 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 | 165,346 | 11 months ago | 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 | 2,652 | 11 months ago | A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. [GPL3 with exceptions] |
| rtags | 1,830 | over 1 year ago | A c/c++ client/server indexer with for integration with emacs based on clang |
| Xcode | Developed by Apple | ||
| YouCompleteMe | 25,503 | 11 months ago | YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim |
| cquery | 2,349 | over 5 years ago | 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 | 5,081 | 11 months ago | A tool to generate compilation database for clang tooling. [GPLv3] |
| Buck | 8,559 | about 2 years ago | 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 | 4,885 | about 1 year ago | 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 | 454 | over 1 year ago | Cmake package retrieval. [Boost] |
| Conan | C/C++ Package Manager, open sourced. [MIT] | ||
| CPM | 747 | about 4 years ago | 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 | 5,902 | 11 months ago | 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 | 438 | about 1 year ago | 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 | 23,503 | 11 months ago | 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 | 1,601 | 11 months ago | 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 | 747 | about 2 years ago | Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache] |
| include-what-you-use | 4,142 | 11 months ago | A tool for use with clang to analyze includes in C and C++ source files |
| Infer | 15,024 | 11 months ago | 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 | 2,746 | 11 months ago | 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 | 136 | about 1 year ago | 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 | 2,878 | 11 months ago | Code beautifier |
Resources / API Design | |||
| Beautiful Native Libraries | |||
| Designing Qt-Style C++ APIs | |||
Resources / Articles | |||
| CppCon 2023 Presentation Materials | 290 | over 1 year ago | CppCon 2023 Presentation Materials |
| CppCon 2022 Presentation Materials | 529 | almost 3 years ago | CppCon 2022 Presentation Materials |
| CppCon 2021 Presentation Materials | 98 | about 2 years ago | CppCon 2021 Presentation Materials |
| CppCon 2020 Presentation Materials | 1,628 | about 5 years ago | CppCon 2020 Presentation Materials |
| CppCon 2019 Presentation Materials | 1,241 | almost 3 years ago | CppCon 2019 Presentation Materials |
| CppCon 2018 Presentation Materials | 1,427 | over 6 years ago | CppCon 2018 Presentation Materials |
| CppCon 2017 Presentation Materials | 1,790 | about 5 years ago | CppCon 2017 Presentation Materials |
| CppCon 2016 Presentation Materials | 1,806 | over 7 years ago | CppCon 2016 Presentation Materials |
| CppCon 2015 Presentation Materials | 1,782 | over 8 years ago | CppCon 2015 Presentation Materials |
| CppCon 2014 Presentation Materials | 2,274 | almost 10 years ago | CppCon 2014 Presentation Materials |
| C++Now 2023 Presentations | 83 | over 2 years ago | Presentation materials presented at C++Now 2023 |
| C++Now 2022 Presentations | 1 | over 3 years ago | Presentation materials presented at C++Now 2022 |
| C++Now 2021 Presentations | 4 | over 2 years ago | Presentation materials presented at C++Now 2021 |
| C++Now 2019 Presentations | 90 | almost 6 years ago | Presentation materials presented at C++Now 2019 |
| C++Now 2018 Presentations | 126 | almost 7 years ago | Presentation materials presented at C++Now 2018 |
| C++Now 2017 Presentations | 490 | almost 7 years ago | Presentation materials presented at C++Now 2017 |
| C++Now 2016 Presentations | 83 | over 8 years ago | Presentation materials presented at C++Now 2016 |
| C++Now 2015 Presentations | 202 | over 10 years ago | Presentation materials presented at C++Now 2015 |
| C++Now 2014 Presentations | 433 | over 11 years ago | Presentation materials presented at C++Now 2014 |
| C++Now 2013 Presentations | 190 | almost 7 years ago | Presentation materials presented at C++Now 2013 |
| C++Now 2012 Presentations | 172 | almost 7 years ago | Presentation materials presented at C++Now 2012 |
Resources / Books | |||
| List of Free C or C++ Books | 60,620 | 11 months ago | |
| Free C Books | 341,306 | 11 months ago | vhf/free-programming-books/C |
| Free C++ Books | 341,306 | 11 months ago | vhf/free-programming-books/C++ |
| cppbestpractices | 8,205 | about 1 year ago | Collaborative Collection of C++ Best Practices |
Resources / Coding Standards | |||
| Cert C++ | |||
| Misra C++ 2008 | |||
| Autosar C++ 2014 | |||
Resources / Coding Style | |||
| C++ Core Guidelines | 43,002 | about 1 year ago | "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 | 37,618 | 11 months ago | Style guides for Google-originated open-source projects |
| Google C++ Style Guide | |||
| GNU Coding Standard | |||
| Linux kernel coding style | |||
| LLVM Coding Standards | |||
Resources / Podcasts | |||
| CppCast | The first podcast by C++ developers for C++ developers | ||
| CppChat | A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community | ||
Resources / Talks | |||
| C++ Conferences | 9 | about 1 year ago | Catalog of C++ conferences |
| CppCon Talks | The C++ conference | ||
| Quick game development with C++11/C++14 | 87 | about 8 years ago | CppCon 2014 talk by Vittorio Romeo |
| Presentation on Hana for C++Now 2015 | 10 | about 7 years ago | |
| Meeting Cpp | Meeting C++ YouTube Channel | ||
Resources / Videos | |||
| List of C or C++ YouTube Videos | 60,620 | 11 months ago | |
| 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 | ||
| Meeting C++ | |||
| PVS-Studio’s challenge | PVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects | ||
| Udemy C++ Courses and Tutorials | |||
| C++ 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 | ||
| Eric Niebler | |||
| Sticky Bits | |||
| Paul Fultz II's Blog | |||
| ridiculousfish | Will It Optimize? | ||
| Embedded in Academia | |||
| Simplify C++ | |||
| Fluent C++ | |||
| Bartek's Coding Blog | |||
| Kenny Kerr | |||
| Sutter’s Mill | |||
| Vorbrodt's C++ Blog | |||
| foonathan::blog() | |||
| C++ Team Blog | Dev blog from the Microsoft Visual C++ team | ||
Resources / Other Awesome Projects | |||
| algorithms | 5,291 | over 1 year ago | Algorithms & Data Structures in C++ |
| c-algorithms | 3,368 | 11 months ago | C algorithms library |
| 30 Seconds of C++ | 1,449 | almost 2 years ago | |
Other Awesome Lists | |||
| lists | 10,067 | about 1 year ago | List of (awesome) lists curated on GitHub |
| awesome-awesomeness | 32,173 | over 1 year ago | A curated list of awesome awesomeness |
| awesome | 337,709 | 11 months ago | A curated list of awesome lists |
| C++ links | 4,598 | 11 months ago | A categorized list of C++ resources |
| Awesome C++ | LibHunt's mirror | ||
| Awesome C | 1 | ||
| Awesome C | 3,505 | about 3 years ago | 2 |
| Awesome Modern C++ | 12,012 | about 1 year ago | A collection of resources on modern C++ |
| AwesomePerfCpp | 2,385 | about 3 years ago | A curated list of awesome C/C++ performance optimization resources |
| free-programming-books | 341,306 | 11 months ago | List of Freely Available Programming Books |
| Inqlude | The Qt library archive | ||
| papers-we-love | 88,844 | 12 months ago | Papers from the computer science community to read and discuss |
| awesome-algorithms | 21,138 | 12 months ago | A curated list of awesome places to learn and/or practice algorithms |
| awesome-hpp | 3,553 | over 1 year ago | A curated list of awesome header-only C++ libraries |
| awesome-talks | 6,102 | about 1 year ago | A lot of screencasts, recordings of user group gatherings and conference talks |
| Projects | 45,469 | about 1 year ago | A list of practical projects that anyone can solve in any programming language |
| Awesome interview questions | 71,974 | over 1 year ago | A list of lists of interview questions for the most popular technologies, including C and C++ |
| nothings/single_file_libs | 9,035 | almost 2 years ago | List of single-file C/C++ libraries |
Backlinks from these awesome lists:
-
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