An open API service indexing awesome lists of open source software.

awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things.
https://github.com/DanylovskyiAM/awesome-cpp

Last synced: about 16 hours ago
JSON representation

  • Scientific Computing

    • AMGCL - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT]
    • Trilinos - High performance PDE solvers. [BSD]
    • Torch - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/)
  • Scripting

    • V8 - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]
    • SIP - C or C++ Bindings Generator for Python v2 and v3. [GPL]
    • cppimport - Import C++ files directly from Python! [MIT]
    • CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT]
    • ctypes.sh - A foreign function interface for bash. [MIT]
    • Cython - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/)
    • djinni - A tool for generating cross-language type declarations and interface bindings. [Apache2]
    • Duktape - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org)
    • JavaCpp - The missing bridge between Java and native C++. [Apache2]
    • libffi - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/)
    • LuaBridge - A lightweight, dependency-free library for binding Lua to C++. [MIT]
    • luacxx - C++11 API for creating Lua bindings. [MIT]
    • nbind - Magical headers that make your C++ library accessible from JavaScript. [MIT]
    • pybind11 - Seamless operability between C++11 and Python. [BSD]
    • sol2 - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT]
    • SWIG - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/)
    • V7 - An embedded JavaScript engine. [GPL2]
    • ChakraCore - A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT]
    • V8 - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]
    • ChaiScript - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/)
    • Lua - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT]
  • Serialization

    • Bond - An open source, cross-platform framework for working with schematized data. [MIT]
    • cereal - A C++11 library for serialization. [BSD]
    • cppcodec - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT]
    • FlatBuffers - A Memory efficient serialization library. [Apache2]
    • MessagePack - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/)
    • protobuf - Protocol Buffers - Google's data interchange format. [BSD]
    • protobuf-c - Protocol Buffers implementation in C. [BSD]
    • YAS - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost]
    • SimpleBinaryEncoding - encoding and decoding application messages in binary format for low-latency applications. [Apache2]
    • upb - A small protobuf implementation in C. [BSD]
  • Sorting

    • pdqsort - Pattern-defeating quicksort. [zlib]
  • 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. [website](http://www.open-std.org/JTC1/SC22/WG21/)
    • The GNU C Library - The purpose of this manual is to tell you how to use the facilities of the GNU C Library.
  • Static 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.
    • Infer - A static analyzer for Java, C and Objective-C. [BSD]
    • cpplint - A C++ style checker following Google's C++ style guide.
    • cpp-dependencies - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache]
    • include-what-you-use - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/)
    • Cppcheck - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck)
    • OCLint - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint)
    • Clang Static Analyzer - A source code analysis tool that finds bugs in C, C++, and Objective-C programs.
    • List of tools for static code analysis - A list of tools for static code analysis from Wikipedia.
  • Talks

  • Video

    • FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2]
    • x265 - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/default/)
    • libde265 - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/)
    • OpenH264 - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/)
    • Theora - A free and open video compression format. [BSD]
  • Videos

  • Virtual Machines

    • CarpVM - "interesting" VM in C. Let's see how this goes. [GPLv3]
    • MicroPython - Aims to put an implementation of Python 3.x on a microcontroller. [MIT]
    • TinyVM - A small, fast, lightweight virtual machine written in pure ANSI C. [MIT]
  • Web Application Framework

    • Kore - ultra fast and flexible web server / framework for web applications developed in C. [ISC]
    • Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
    • Civetweb - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT]
    • Crow - Crow is C++ micro web framework (inspired by Python Flask). [BSD]
    • Cutelyst - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/)
    • facil.io - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io)
    • lwan - Experimental, scalable, high performance HTTP server. [GPL2]
    • oat++ - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/)
    • QDjango - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL]
    • TreeFrog Framework - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/)
    • Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
  • Weblogs

  • Websites

    • Standard C++ - News, Status & Discussion about Standard C++.
    • C++ FAQ - C++ frequently asked questions.
    • C++ FQA Lite - C++ frequently questioned answers.
    • Guru of the Week - A regular series of C++ programming problems created and written by Herb Sutter.
    • C++ Quiz - C++ quiz in which you propose 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++ reference - C++98, C++03, C++11, C++14 reference.
    • C++ FAQ - C++ frequently asked questions.
    • Guru of the Week - A regular series of C++ programming problems created and written by Herb Sutter.
    • C++ Hints - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team.
    • C++ reference - C++98, C++03, C++11, C++14 reference.
    • CppCon - The C++ Conference.
    • C++ FQA Lite - C++ frequently questioned answers.
    • Meeting C++
  • XML

    • Expat - An XML parser library written in C. [MIT]
    • Expat - An XML parser library written in C. [MIT]
    • Mini-XML - A small XML parsing library written in ANSI C. [LGPL2 with exceptions]
    • TinyXML2 - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib]
    • TinyXML++ - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT]
    • Libxml2 - The XML C parser and toolkit of Gnome. [MIT]
    • libxml++ - An XML Parser for C++. [LGPL2]
    • RapidXml - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost]
    • TinyXML++ - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT]
    • Libxml2 - The XML C parser and toolkit of Gnome. [MIT]
Sub Categories