Перейти к основному содержимому
Категории ai career dao links media notes philosophy security systems web

awesome-cpp

Курируемый awesome-список · открыть репозиторий ↗

← Ко всем спискам

Источник: awesome-cpp — синхронизируется из внешнего репозитория как sparse-субмодуль (только список).

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-… stuff.

Standard Libraries
#

C++ Standard Library - including STL Containers, STL Algorithm, STL Functional, etc.

Frameworks
#

C++ generic frameworks and libraries.

  • abseil-cpp - Abseil C++ Common Libraries. [Apache2]
  • Apache C++ Standard Library - STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2]
  • APR - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2]
  • ASL - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
  • AUI - Declarative UI toolkit for C++20. [MPL2]
  • Boost :zap: - A large collection of generic C++ libraries. [Boost] website
  • BDE - The BDE Development Environment from Bloomberg Labs. [Apache2]
  • C++ Workflow :zap: - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2]
  • CGraph - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT]
  • Cinder - A community-developed, free and open source library for professional-quality creative coding. [BSD]
  • Coost - A tiny boost library in C++11. [MIT]
  • Cxxomfort - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT]
  • Dlib :zap: - A toolkit for making real world machine learning and data analysis applications in C++. [Boost] website
  • EASTL - Electronic Arts Standard Template Library. [BSD]
  • ETL - Embedded Template Library. [MIT]
  • ffead-cpp - Framework for Enterprise Application Development. [Apache2]
  • Folly - An open-source C++ library developed and used at Facebook. [Apache2]
  • FunctionalPlus - Functional Programming Library for C++. Write concise and readable C++ code. [MIT]
  • GLib - GLib provides the core application building blocks for libraries and applications written in C. [LGPL]
  • itlib - A collection of std-like single-header C++ libraries [MIT]
  • JUCE - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] website
  • Kigs framework - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] website
  • libPhenom - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2]
  • LibSourcey - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL]
  • LibU - A multiplatform utility library written in C. [BSD]
  • libxutils - Simple and yet powerful cross-platform C library providing data structures, algorithms and much more. [MIT]
  • Loki - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT]
  • micron.cpp - A pure C++ implementation (& redesign) of libc and the Standard Library. [Boost/MIT]
  • MiLi - Minimal headers-only C++ Library. [Boost]
  • OpenFrameworks - A cross platform open source toolkit for creative coding in C++. [MIT] website
  • PhotonLibOS - A comprehensive C++ framework featuring efficient user-space threading (coroutine with work-stealing), I/O, networking, RPC, HTTP, etc., and used extensively in Alibaba. It is compatible with C++ 14/17/20/23, Linux, MacOS, x86-64, ARM64, gcc and clang. [Apache2] website
  • Qt :zap: - A cross-platform application and UI framework. [GPL/LGPL/Proprietary] website
  • Reason - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2]
  • ROOT - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL]
  • rpp - Minimal Rust-inspired C++20 STL replacement. [MIT]
  • SaneCppLibraries - a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT] website
  • Seastar - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] seastar.io
  • sfl library - a header-only C++11 library that provides several new or lesser-known containers, some of which can be used in C++20 constant expressions. [zlib]
  • Siv3D - Siv3D (OpenSiv3D) is a C++20 framework for creative coding (2D/3D games, media art, visualizers, and simulators). [MIT] website
  • STLport - An exemplary version of STL. [Free]
  • STXXL - Standard Template Library for Extra Large Data Sets. [Boost]
  • tbox - A glib-like multi-platform c library. [Apache2] website
  • Ultimate++ - A C++ cross-platform rapid application development framework. [BSD]
  • Windows Template Library - A C++ library for developing Windows applications and UI components. [Public]
  • WUI - WUI (Window User Interface Library) is a cross-platform library for creating graphical user interfaces in C++17+ [Boost]website
  • xtd - Modern C++20 framework to create console (CLI), forms (GUI) and unit tests (xUnit) applications on Windows, macOS, Linux, iOS, Android, FreeBSD and Haiku. [MIT]
  • Yomm2 - Fast, Orthogonal, Open multi-methods. Supersedes Yomm11 [Boost]
  • YUP! - The modern framework optimized for realtime audio and GPU-native creative software [ISC]

Artificial Intelligence
#

  • ANNetGPGPU - A GPU (CUDA) based Artificial Neural Network library. [LGPL]
  • btsk - Game Behavior Tree Starter Kit. [zlib]
  • cpp-mcp - Lightweight C++ MCP (Model Context Protocol) SDK. [MIT]
  • Evolving Objects - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL]
  • fastmcpp - C++ port of the fastmcp Python library. [Apache2]
  • 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]
  • Txeo - A modern C++ wrapper for TensorFlow. [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]
  • Kaldi - Toolkit for speech recognition. [Apache]

Asynchronous Event Loop
#

  • Asio - A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] website
  • Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost] website
  • C++ Actor Framework - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] website
  • Ichor - An event queue which focuses on thread safety and provides dependency injection. [MIT]
  • libev - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL]
  • libevent - An event notification library. [BSD]
  • libhv - Cross-platform event loop library. [BSD]
  • libuv - Cross-platform asynchronous I/O. [BSD]
  • promise-cpp - Header only library that implements Promise/A+ standard. [Anti-996]
  • uvw - C++ wrapper for libuv. [MIT]
  • uv-cpp - a simple interface, high-performance network library based on C++11. [MIT]

Audio
#

Audio, Sound, Music, Digitized Voice Libraries

  • Amplitude Audio SDK - A cross-platform audio engine designed with the needs of games in mind. [Apache-2.0] website
  • Aubio - A library for audio and music analysis.[GPL-3.0] website
  • AudioFile - A simple C++ library for reading and writing audio files. [MIT]
  • audioFlux - A C library for audio and music analysis, feature extraction. [MIT]
  • dr_libs - Single file audio decoding libraries for C and C++. [Unlicense]
  • FMOD - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]
  • KFR - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Proprietary]
  • LAME - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL]
  • libsndfile - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] 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/Proprietary]
  • 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]
  • rnnoise - Recurrent neural network for audio noise reduction. [BSD-3-Clause]
  • SELA - SimplE Lossless Audio. [MIT]
  • SoLoud - Easy, portable audio engine for games. [zlib]
  • Speex - A free codec for free speech. Obsoleted by Opus. [BSD]
  • Tonic - Easy and efficient audio synthesis in C++. [Unlicense]
  • Vorbis - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD]
  • minimp3 - Public domain, header-only MP3 decoder with clean-room implementation. [CC0]
  • Verovio - Verovio is a fast and lightweight music notation engraving library. [LGPL] 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]
  • PocketSphinx - A lightweight speech recognition engine. [BSD-2-Clause] website

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]
  • htslib - A C library for reading/writing high-throughput sequencing data. [MIT/BSD] website

BitTorrent
#

  • jech/dht - BitTorrent DHT library in C. [MIT]
  • libtorrent (a.k.a. libtorrent-rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD]
  • LibTorrent (a.k.a. libtorrent-rakshasa) - BitTorrent library. [GPL]
  • libutp - uTorrent Transport Protocol library. [MIT]

Chemistry
#

Chemistry, Quantum Chemistry, Solid-State Chemistry/Physics, Geochemistry, Biochemistry

  • 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
  • MADNESS - Multiresolution Adaptive Numerical Environment for Scientific Simulation. [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
  • 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]
  • argparse - Argument Parser for Modern C++. [MIT]
  • args - A simple header-only C++ argument parser library. [MIT]
  • Argy - Command-Line Argument Parsing Library for Modern C++ — Simple, Intuitive, and Header-only with Zero Dependencies [MIT]
  • barkeep - Small C++ header to display async animations, counters, and progress bars. [Apache-2.0] website
  • Boost.Program_options - A library to obtain program options via conventional methods such as command line and config file. [Boost] website
  • cli - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost]
  • CLI11 - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD]
  • clipp - Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT]
  • cpp-terminal - Small header only C++ library for writing multiplatform terminal applications. [MIT]
  • Crossline - A small, self-contained, zero-config, MIT licensed, cross-platform, readline and libedit replacement. [MIT]
  • Ctrl+C - Crossplatform C++11 library to handle Ctrl+C event in custom functions. [MIT]
  • cxxopts - Lightweight C++ command line option parser. [MIT]
  • docopt.cpp - A library to generate option parser from docstring. [MIT/Boost]
  • FINAL CUT - Library for creating terminal applications with text-based widgets. [LGPL]
  • FTXUI - C++ Functional Terminal User Interface. [MIT]
  • gflags - Commandline flags module for C++. [BSD]
  • imtui - Immediate Mode Text-based User Interface. [MIT]
  • indicators - Activity indicators for Modern C++. [MIT]
  • linenoise - A small self-contained alternative to readline and libedit. [BSD-2-Clause]
  • linenoise-ng - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD]

…превью ограничено; полный список — в репозитории.