OpenFrameworks - A cross platform open source toolkit for creative coding in C++. [MIT] website
Qt⚡ - A cross-platform application and UI framework. [GPL/LGPL/Commercial]
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]
Seastar - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] seastar.io
Evolving Objects - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL]
frugally-deep - Header-only library for using Keras models in C++. [MIT]
Genann - Simple neural network library in C. [zlib]
MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more website
PyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration. website
flashlight - Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD]
Recast/Detour - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib]
TensorFlow - An open source software library for numerical computation using data flow graphs [Apache]
oneDNN - An open-source cross-platform performance library for deep learning applications. [Apache] website
CNTK - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost]
tiny-dnn - A header only, dependency-free deep learning framework in C++11. [BSD]
Veles - Distributed platform for rapid Deep learning application development. [Apache]
Asio - A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] website
Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost]
AudioFile - A simple C++ library for reading and writing audio files. [GPL3]
dr_libs - Single file audio decoding libraries for C and C++. [Unlicense]
FMOD - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]
KFR - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial]
LAME - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL]
libsndfile - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] website
libsoundio - C library for cross-platform real-time audio input and output. [MIT] website
Maximilian - C++ Audio and Music DSP Library. [MIT]
OpenAL - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial]
miniaudio - Single file audio playback and capture library. [Unlicense] website
ni-media - C++ library for reading and writing audio files. [MIT]
Opus - A totally open, royalty-free, highly versatile audio codec. [BSD]
PortAudio - PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT]
SoLoud - Easy, portable audio engine for games. [zlib]
Speex - A free codec for free speech. Obsoleted by Opus. [BSD]
Tonic - Easy and efficient audio synthesis in C++. [Unlicense]
Vorbis - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD]
minimp3 - Public domain, header-only MP3 decoder with clean-room implementation. [CC0]
Verovio - Verovio is a fast and lightweight music notation engraving library. [LGPL] website
Wav2Letter++ - Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency [BSD]
Biology
Bioinformatics, Genomics, Biotech
BioC++ - C++ Computational Libraries for Bioinformatics. [BSD]
Chaste - An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD]
libsequence - A C++ library for representing and analyzing population genetics data. [GPL]
SeqAn - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]
Vcflib - A C++ library for parsing and manipulating VCF files. [MIT]
Wham - Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT]
d-SEAMS - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] website
gromacs - A message-passing parallel molecular dynamics implementation. [GPL] website
Reaktoro - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] website
LAMMPS - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] website
MPQC - The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [GPL] website
ORCA - An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic] website
Psi - An ab initio computational chemistry package. [GPL] website
CLI
Console/Terminal User Interface, Command Line Interface
Argh! - A minimalist, frustration-free, header-only argument handler. [BSD]
Taywee/args - A simple header-only C++ argument parser library. [MIT]
Boost.Program_options - A library to obtain program options via conventional methods such as command line and config file. [Boost]
Clara - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0]
cli - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost]
CLI11 - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD]
jarro2783/cxxopts - Lightweight C++ command line option parser. [MIT]
docopt.cpp - A library to generate option parser from docstring. [MIT/Boost]
FINAL CUT - Library for creating terminal applications with text-based widgets. [LGPL]
TCLAP - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT]
termbox - A C library for writing text-based user interfaces. [MIT]
cpp-terminal - Small header only C++ library for writing multiplatform terminal applications. [MIT]
FTXUI - C++ Functional Terminal User Interface. [MIT]
imtui - Immediate Mode Text-based User Interface [MIT]
Compression
Compression and Archiving Libraries
bit7z - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [GPLv2]
Brotli - Brotli compression format. Developed by Google. [MIT]
bzip2 - A freely available, patent free, high-quality data compressor. [BSD]
FiniteStateEntropy - New generation entropy codecs : Finite State Entropy and Huff0.
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]
KArchive - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL]
libarchive - Multi-format archive and compression library. [New BSD] website
LZ4 - Extremely Fast Compression algorithm. [BSD] website
LZFSE - LZFSE compression library and command line tool. Developed by Apple.
LZHAM - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD]
LZMA⚡ - The default and general compression method of 7z format. [PublicDomain]
LZMAT - An extremely fast real-time lossless data compression library. [GPL]
miniz - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT]
Minizip - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib]
Async++ - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT]
Boost.Compute - A C++ GPU Computing Library for OpenCL. [Boost]
Bolt - A C++ template library optimized for GPUs. [Apache2]
ck - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD]
concurrentqueue - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost]
Cpp-Taskflow - Fast C++ Parallel Programming with Task Dependencies. [MIT]
CUB - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD]
cuda-api-wrappers - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD]
cupla - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+]
C++React - A reactive programming library for C++11. [Boost]
FiberTaskingLib - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache]
HPX - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
Intel Games Task Scheduler - A task scheduling framework designed for the needs of game developers. [MIT]
Intel Parallel STL - Intel® implementation of C++17 STL for C++11 and above. [Apache2]
Intel TBB - Intel® Threading Building Blocks. [Apache2]
junction - A library of concurrent data structures in C++. [BSD]
Kokkos - A performance portable programming model for parallel execution and memory abstraction. [BSD]
libcds - A C++ library of Concurrent Data Structures. [BSD]
Libclsph - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT]
libdill - Introduces structured concurrency in C. [MIT]
libdispatch - Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0] website
libmill - Introduces Go-style concurrency in C. [MIT]
marl - Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0]
moderngpu - moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter]
NCCL - Optimized primitives for collective multi-GPU communication. [BSD]
OpenCL - The open standard for parallel programming of heterogeneous systems.
libconfig - C, C++ library for processing structured configuration files. [LGPL-2.1] website
libconfuse - Small configuration file parser library for C. [ISC]
simpleini - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT]
toml++ - Header-only TOML parser and serializer for C++17 and later. [MIT] website
Containers
C++ B-tree - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]
Colony - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] website
dynamic_bitset - A C++17 header-only dynamic bitset. [MIT]
Forest - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT]
Hashmaps - Implementation of open addressing hash table algorithms in C++. [MIT]
Hopscotch map - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT]
LSHBOX - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL]
PGM-index - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] website
plf::list - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] website
plf::stack - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] website
ring_span lite - A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT]
robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT]
robin-map - Fast hash map and hash set using robin hood hashing. [MIT]
sparsepp - A fast, memory efficient hash map for C++. [BSD 3-clause]
Cryptography
Cryptography and Encryption Libraries
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+]
GnuPG - A complete and free implementation of the OpenPGP standard. [GPL]
GnuTLS - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1]
Libgcrypt - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]
LibreSSL - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?]
libsodium - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC]
libhydrogen - A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC]
LibTomCrypt - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL]
mbedTLS - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] website
Nettle - A low-level cryptographic library. [LGPL]
OpenSSL - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] website
retter - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography.
s2n - An implementation of the TLS/SSL protocols. [Apache]
sha1collisiondetection - Library and command line tool to detect SHA-1 collision in a file. [MIT]
Tink - A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0]
Tiny AES in C - Small portable AES128/192/256 in C. [PublicDomain]
Themis - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2]
CSV
Libraries for parsing Comma Separated Value (CSV) files
请发表评论