1
0
Fork 0
mirror of https://github.com/fffaraz/awesome-cpp.git synced 2024-11-13 11:16:54 -05:00
cpp/README.md

588 lines
46 KiB
Markdown
Raw Normal View History

2014-07-17 06:52:03 -04:00
# Awesome C/C++
A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
2014-07-17 04:51:11 -04:00
2014-07-17 08:52:58 -04:00
- [Awesome C/C++](#awesome-cpp)
2014-07-17 06:52:03 -04:00
- [Standard Libraries](#standard-libraries)
- [Frameworks](#frameworks)
- [Artificial Intelligence](#artificial-intelligence)
2014-07-17 16:52:01 -04:00
- [Asynchronous Event Loop](#asynchronous-event-loop)
2014-07-17 13:14:50 -04:00
- [Audio](#audio)
- [Biology](#biology)
2014-07-25 10:49:39 -04:00
- [Compression](#compression)
2014-07-17 06:52:03 -04:00
- [Concurrency](#concurrency)
- [Containers](#containers)
- [Cryptography](#cryptography)
- [Database](#database)
2014-07-17 13:48:46 -04:00
- [Debug](#debug)
2014-07-23 06:52:18 -04:00
- [Game Engine](#game-engine)
2014-07-17 06:52:03 -04:00
- [GUI](#gui)
- [Graphics](#graphics)
2014-09-10 10:26:36 -04:00
- [Image Processing](#image-processing)
2014-07-17 06:52:03 -04:00
- [Internationalization](#internationalization)
- [JSON](#json)
- [Logging](#logging)
- [Machine Learning](#machine-learning)
2014-08-12 03:33:25 -04:00
- [Math](#math)
2014-07-17 06:52:03 -04:00
- [Multimedia](#multimedia)
- [Networking](#networking)
2014-07-22 13:23:59 -04:00
- [Physics](#physics)
2014-10-13 19:16:32 -04:00
- [Robotics](#robotics)
2014-09-10 10:09:28 -04:00
- [Scientific Computing](#scientific-computing)
2014-07-23 06:52:18 -04:00
- [Scripting](#scripting)
2014-07-17 06:52:03 -04:00
- [Serialization](#serialization)
2014-08-14 13:50:07 -04:00
- [Video](#video)
- [Virtual Machines](#virtual-machines)
2014-07-17 06:52:03 -04:00
- [Web Application Framework](#web-application-framework)
- [XML](#xml)
2014-07-26 08:54:02 -04:00
- [Miscellaneous](#miscellaneous)
2014-07-17 06:52:03 -04:00
- [Software](#software)
2014-07-30 13:35:46 -04:00
- [Compiler](#compiler)
2014-07-30 18:11:08 -04:00
- [Online Compiler](#online-compiler)
2014-07-30 13:35:46 -04:00
- [Debugger](#debugger)
- [Integrated Development Environment](#integrated-development-environment)
2014-10-13 19:21:06 -04:00
- [Build Systems](#build-systems)
2014-07-29 06:42:34 -04:00
- [Static Code Analysis](#static-code-analysis)
2014-07-17 06:52:03 -04:00
- [Resources](#resources)
2014-10-09 22:38:56 -04:00
- [API Design](#api-design)
2014-07-23 07:01:42 -04:00
- [Articles](#articles)
- [Books](#books)
2014-08-04 07:17:11 -04:00
- [Coding Style](#coding-style)
2014-07-23 07:01:42 -04:00
- [Videos](#videos)
- [Websites](#websites)
2014-07-17 11:10:45 -04:00
- [Other Awesome Lists](#other-awesome-lists)
2014-07-17 06:52:03 -04:00
- [Contributing](#contributing)
## Standard Libraries
2014-07-26 08:54:02 -04:00
*C++ Standard Library - including STL Containers, STL Aglorithm, STL Functional, etc.*
2014-07-17 06:52:03 -04:00
* [C++ Standard Library](http://en.wikipedia.org/wiki/C%2B%2B_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](http://en.wikipedia.org/wiki/Standard_Template_Library) - The Standard Template Library (STL).
2014-07-17 09:34:23 -04:00
* [C POSIX library](http://en.wikipedia.org/wiki/C_POSIX_library) - A specification of a C standard library for POSIX systems.
2014-08-14 11:30:38 -04:00
* [ISO C++ Standards Committee](https://github.com/cplusplus) - ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee. [website](http://www.open-std.org/JTC1/SC22/WG21/)
2014-07-17 06:52:03 -04:00
## Frameworks
*C++ generic frameworks and libraries.*
* [Apache C++ Standard Library](http://stdcxx.apache.org/) - A collection of algorithms, containers, iterators, and other fundamental components. [Apache2]
* [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
2014-10-10 01:05:51 -04:00
* [Boost](https://github.com/boostorg) :star: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/)
* [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [MIT]
* [Cinder](http://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD]
* [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT]
2014-10-10 01:05:51 -04:00
* [Dlib](http://dlib.net/) :star: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost]
* [EASTL](https://github.com/paulhodge/EASTL) - Public part of EA-STL. [BSD]
* [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2]
* [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2]
* [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/)
* [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2]
* [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL]
* [LibU](https://github.com/koanlogic/libu) - A multiplatform utility library written in C. [BSD]
* [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT]
* [MiLi](https://code.google.com/p/mili/) - Minimal headers-only C++ Library. [Boost]
* [openFrameworks](http://www.openframeworks.cc/) - An open source C++ toolkit for creative coding. [MIT]
2014-10-10 01:05:51 -04:00
* [Qt](http://qt-project.org/) :star: - A cross-platform application and UI framework. [LGPL]
* [Reason](http://code.google.com/p/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++. [GPLv2]
2014-08-14 13:08:16 -04:00
* [ROOT](http://root.cern.ch) - 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]
2014-09-25 15:16:49 -04:00
* [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free]
* [STXXL](http://stxxl.sourceforge.net/) - Standard Template Library for Extra Large Data Sets. [Boost]
* [Ultimate++](http://www.ultimatepp.org/) - A C++ cross-platform rapid application development framework. [BSD]
* [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public]
* [Yomm11](https://github.com/jll63/yomm11) - Open multi-methods for C++11. [Boost]
2014-07-17 06:52:03 -04:00
2014-07-17 13:48:46 -04:00
## Artificial Intelligence
2014-07-17 06:52:03 -04:00
2014-08-14 05:54:00 -04:00
* [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib]
* [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL]
* [Neu](https://github.com/andrometa/neu) - A C++ 11 framework, collection of programming languages, and multipurpose software system designed for: the creation of artificial intelligence applications. [BSD]
2014-07-17 06:52:03 -04:00
2014-07-17 16:52:01 -04:00
## Asynchronous Event Loop
2014-08-14 05:54:00 -04:00
* [Boost.Asio](http://think-async.com/) - A cross-platform C++ library for network and low-level I/O programming. [Boost]
* [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL]
* [libevent](http://libevent.org/) - An event notification library. [BSD]
* [libuv](https://github.com/joyent/libuv) - Cross-platform asychronous I/O. [BSD]
2014-07-17 16:52:01 -04:00
2014-07-17 13:48:46 -04:00
## Audio
*Audio, Sound, Music, Digitized Voice Libraries*
2014-07-17 13:14:50 -04:00
2014-08-14 12:04:18 -04:00
* [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]
* [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT]
* [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial]
2014-08-14 13:50:07 -04:00
* [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD]
* [Speex](http://www.speex.org/) - A free codec for free speech. Obsoleted by Opus. [BSD]
2014-08-14 12:04:18 -04:00
* [Tonic](https://github.com/TonicAudio/Tonic) - Easy and efficient audio synthesis in C++. [Unlicense]
2014-08-14 13:54:09 -04:00
* [Vorbis](http://xiph.org/vorbis/) - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD]
2014-07-17 13:14:50 -04:00
## Biology
2014-09-25 08:08:58 -04:00
*Bioinformatics, Genomics, Biotech*
2014-10-13 19:21:06 -04:00
* [libsequence](http://molpopgen.github.io/libsequence/) - A C++ library for representing and analyzing population genetics data. [GPL]
* [SeqAn](http://www.seqan.de/) - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]
* [Vcflib](https://github.com/ekg/vcflib) - A C++ library for parsing and manipulating VCF files. [MIT]
* [Wham](https://github.com/jewmanchue/wham) - Structural variants (SVs) in Genomes by directly applying association tests to BAM files.
2014-07-17 13:48:46 -04:00
## Compression
*Compression and Archiving Libraries*
2014-08-14 12:04:18 -04:00
* [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD]
* [doboz](https://bitbucket.org/attila_afra/doboz/overview) - Compression library with very fast decompression. [zlib]
2014-08-14 13:08:16 -04:00
* [PhysicsFS](https://icculus.org/physfs/) - 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](https://projects.kde.org/projects/frameworks/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]
2014-08-14 12:04:18 -04:00
* [LZ4](https://code.google.com/p/lz4/) - Extremely Fast Compression algorithm. [BSD]
* [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD]
2014-10-10 12:49:58 -04:00
* [LZMA](http://www.7-zip.org/sdk.html) :star: - The default and general compression method of 7z format. [LGPL]
2014-08-14 12:04:18 -04:00
* [LZMAT](http://www.matcode.com/lzmat.htm) - An extremely fast real-time lossless data compression library. [GPL]
* [miniz](https://code.google.com/p/miniz/) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [Unlicense]
* [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib]
* [Snappy](https://code.google.com/p/snappy/) - A fast compressor/decompressor. [BSD]
* [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib]
* [ZZIPlib](http://zziplib.sourceforge.net/) - Provides read access on ZIP-archives. [MPL/LGPL]
2014-07-23 06:52:18 -04:00
2014-07-17 06:52:03 -04:00
## Concurrency
2014-07-29 06:12:08 -04:00
*Concurrency and Multithreading*
2014-07-17 06:52:03 -04:00
2014-08-28 14:11:09 -04:00
* [Boost.Compute](https://github.com/kylelutz/compute) - A C++ GPU Computing Library for OpenCL. [Boost]
* [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2]
2014-08-14 13:08:16 -04:00
* [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost]
2014-08-28 14:11:09 -04:00
* [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [GPLv2 with runtime exception]
* [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT]
2014-07-17 13:14:50 -04:00
* [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems.
2014-07-17 06:52:03 -04:00
* [OpenMP](http://openmp.org/) - The OpenMP API.
2014-08-28 14:11:09 -04:00
* [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2]
* [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
* [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT]
2014-07-17 06:52:03 -04:00
## Containers
2014-08-28 14:11:09 -04:00
* [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]
* [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT]
2014-07-17 06:52:03 -04:00
2014-07-17 10:21:08 -04:00
## Cryptography
2014-07-17 13:48:46 -04:00
*Cryptography and Encryption Libraries*
2014-07-17 10:21:08 -04:00
* [Bcrypt](http://bcrypt.sourceforge.net/) - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors.
2014-08-14 11:38:27 -04:00
* [Crypto++](http://www.cryptopp.com/) - A free C++ class library of cryptographic schemes. [Boost]
* [LibTomCrypt](https://github.com/libtom/libtomcrypt) - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL]
* [libsodium](https://github.com/jedisct1/libsodium) - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC]
* [OpenSSL](http://www.openssl.org/) - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache]
2014-09-25 15:16:49 -04:00
* [Tiny AES128 in C](https://github.com/kokke/tiny-AES128-C) - A small and portable implementation of the AES128 ECB encryption algorithm implemented in C. [PublicDomain]
2014-07-17 10:21:08 -04:00
2014-07-17 13:48:46 -04:00
## Database
*Database Libraries, SQL Servers, ODBC Drivers, and Tools*
2014-08-28 14:11:09 -04:00
* [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD]
* [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD]
2014-09-12 02:45:07 -04:00
* [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library. [BSD]
2014-08-28 14:11:09 -04:00
* [LMDB](http://symas.com/mdb/) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP]
2014-09-10 15:34:34 -04:00
* [MySQL++](http://www.tangentsoft.net/mysql++/) - A C++ wrapper for MySQL's C API. [LGPL]
2014-08-28 14:11:09 -04:00
* [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD]
* [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain]
2014-07-23 06:52:18 -04:00
2014-07-17 13:48:46 -04:00
## Debug
*Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing*
2014-08-28 14:11:09 -04:00
* [Catch](https://github.com/philsquared/Catch) - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD. [Boost]
2014-10-09 19:08:07 -04:00
* [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPLv2]
2014-08-28 14:11:09 -04:00
* [googletest](http://code.google.com/p/googletest/) - Google C++ Testing Framework. [BSD]
* [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD]
* [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPLv2]
2014-09-12 02:45:07 -04:00
* [MemTrack](http://www.almostinfinite.com/memtrack.html) - Tracking memory allocations in C++.
2014-08-28 14:11:09 -04:00
* [microprofile](https://bitbucket.org/jonasmeyer/microprofile/overview) - Profiler with web-view for multiple platforms. [PublicDomain]
* [minUnit](http://www.jera.com/techinfo/jtns/jtn002.html) - A minimal unit testing framework for C written using only 2 macros. [PublicDomain]
* [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2]
2014-09-12 02:45:07 -04:00
* [UnitTest++](http://unittest-cpp.sourceforge.net/) - A lightweight unit testing framework for C++. [MIT/X Consortium license]
2014-07-17 13:48:46 -04:00
2014-07-23 06:52:18 -04:00
## Game Engine
2014-08-28 14:11:09 -04:00
* [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [Commercial?]
* [Grit](http://gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT]
* [Irrlicht](http://irrlicht.sourceforge.net/) - An open source high performance realtime 3D engine written in C++. [zlib]
* [Polycode](http://polycode.org/) - Open-Source Framework for creating games in C++ (with Lua bindings). [MIT]
2014-07-23 06:52:18 -04:00
2014-07-17 06:52:03 -04:00
## GUI
*Graphic User Interface*
2014-09-10 09:37:56 -04:00
* [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library.
2014-09-10 09:23:33 -04:00
* [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPLv2]
2014-08-28 14:11:09 -04:00
* [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL]
* [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL]
* [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT]
* [libRocket](http://librocket.com/) - libRocket is a C++ HTML/CSS game interface middleware. [MIT]
2014-09-10 09:37:56 -04:00
* [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT]
2014-08-28 14:11:09 -04:00
* [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT]
2014-09-10 09:46:32 -04:00
* [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3]
2014-08-28 14:11:09 -04:00
* [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL]
* [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib]
* [OtterUI](https://github.com/Twolewis/OtterUI) - OtterUI is a User Interface development solution for embedded systems and interactive entertainment software. [MIT]
2014-09-12 02:48:30 -04:00
* [PDCurses](http://pdcurses.sourceforge.net/) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain]
2014-08-28 14:11:09 -04:00
* [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL]
2014-07-17 06:52:03 -04:00
## Graphics
2014-08-28 14:11:09 -04:00
* [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD]
* [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPLv2 or Mozilla MPL]
* [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL]
2014-09-02 09:55:52 -04:00
* [magnum](https://github.com/mosra/magnum) - C++11 and OpenGL 2D/3D graphics engine. [MIT] [website](http://mosra.cz/blog/magnum.php)
2014-10-10 12:49:58 -04:00
* [Ogre 3D](http://www.ogre3d.org/) :star: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT]
2014-09-10 10:21:33 -04:00
* [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL]
2014-08-28 14:11:09 -04:00
* [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD]
* [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [bSD] [webpage](https://sites.google.com/site/skiadocs/home)
* [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT]
2014-07-17 06:52:03 -04:00
2014-09-10 10:26:36 -04:00
## Image Processing
2014-09-10 16:12:23 -04:00
* [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library.
2014-09-10 10:26:36 -04:00
* [CImg](http://cimg.sourceforge.net/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL]
2014-10-13 19:26:20 -04:00
* [CxImage](http://www.xdp.it/cximage.htm) - 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]
2014-10-10 20:59:16 -04:00
* [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPLv2 or GPLv3]
2014-09-10 15:26:45 -04:00
* [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) - Grassroots DICOM library.
2014-09-10 15:00:57 -04:00
* [ITK](http://www.itk.org/) - An open-source, cross-platform system for image analysis. [Apache 2.0 from ITK 4.0]
2014-09-10 15:26:45 -04:00
* [Magick++](http://www.imagemagick.org/script/api.php) - ImageMagick program interfaces for C++. [Apache 2.0]
* [MagickWnd](http://www.imagemagick.org/script/api.php) - ImageMagick program interfaces for C. [Apache 2.0]
2014-10-10 12:49:58 -04:00
* [OpenCV](http://opencv.org/) :star: - Open source computer vision. [BSD]
2014-09-10 16:15:08 -04:00
* [tesseract-ocr](https://code.google.com/p/tesseract-ocr/) - An OCR engine. [Apache 2.0]
2014-10-13 19:21:06 -04:00
* [VIGRA](https://github.com/ukoethe/vigra) - A generic C++ computer vision library for image analysis. [MIT X11]
2014-09-10 15:00:57 -04:00
* [VTK](http://www.vtk.org/) - Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD]
2014-09-10 10:26:36 -04:00
2014-07-17 06:52:03 -04:00
## Internationalization
2014-08-28 14:11:09 -04:00
* [gettext](http://www.gnu.org/software/gettext/) - GNU `gettext'. [GPLv2]
2014-09-10 15:31:47 -04:00
* [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU]
2014-09-10 16:16:18 -04:00
* [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL]
2014-07-17 06:52:03 -04:00
2014-07-17 07:38:56 -04:00
## JSON
2014-10-10 01:05:51 -04:00
* [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPLv2]
* [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT]
* [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost]
* [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD]
* [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT]
2014-09-02 09:59:14 -04:00
* [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD]
2014-10-10 01:05:51 -04:00
* [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT]
2014-09-25 15:16:49 -04:00
* [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain]
2014-10-10 01:05:51 -04:00
* [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL]
2014-09-25 15:16:49 -04:00
* [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?]
2014-10-10 01:05:51 -04:00
* [PicoJSON](https://github.com/kazuho/picojson) - A header-file-only, JSON parser serializer in C++. [BSD]
* [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3]
* [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPLv2]
* [RapidJSON](https://github.com/miloyip/rapidjson) - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT]
* [YAJL](https://github.com/lloyd/yajl) :star: - A fast streaming JSON parsing library in C. [ISC]
2014-07-17 06:52:03 -04:00
2014-07-23 12:53:42 -04:00
## Logging
2014-10-09 22:38:56 -04:00
* [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost]
* [easyloggingpp](https://github.com/easylogging/easyloggingpp) - Single header only C++ logging library. [MIT] [website](http://easylogging.org/)
2014-08-28 14:11:09 -04:00
* [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL]
* [templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]
2014-07-23 12:53:42 -04:00
2014-07-17 06:52:03 -04:00
## Machine Learning
2014-08-28 14:11:09 -04:00
* [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD]
* [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD]
* [mlpack](http://www.mlpack.org/) - A scalable c++ machine learning library. [LGPLv3]
2014-10-10 12:49:58 -04:00
* [OpenCV](https://github.com/Itseez/opencv) :star: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/)
2014-08-28 14:11:09 -04:00
* [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD]
* [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3]
* [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2]
2014-07-17 06:52:03 -04:00
2014-08-12 03:33:25 -04:00
## Math
2014-08-21 04:48:53 -04:00
* [Armadillo](http://arma.sourceforge.net/) - A high quality C++ linear algebra library, aiming towards a good balance between speed and ease of use. The syntax (API) is deliberately similar to Matlab. [MPL2]
2014-08-28 14:11:09 -04:00
* [blaze](https://code.google.com/p/blaze-lib/) - high-performance C++ math library for dense and sparse arithmetic. [BSD]
* [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
* [CGal](http://www.cgal.org/) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL]
2014-08-28 14:11:09 -04:00
* [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost]
2014-08-14 11:53:04 -04:00
* [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2]
2014-10-10 20:59:16 -04:00
* [GMP](https://gmplib.org/) - A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPLv3 and GPLv2]
2014-07-17 06:52:03 -04:00
## Multimedia
* [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL]
2014-09-10 09:37:56 -04:00
* [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
* [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL]
2014-08-14 13:08:16 -04:00
* [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/)
2014-10-10 12:49:58 -04:00
* [SDL](http://www.libsdl.org/) :star: - Simple DirectMedia Layer. [zlib]
2014-10-10 20:59:16 -04:00
* [SFML](http://www.sfml-dev.org/) :star: - Simple and Fast Multimedia Library. [zlib]
2014-07-17 06:52:03 -04:00
## Networking
* [ACE](http://www.cs.wustl.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?]
2014-10-10 12:49:58 -04:00
* [Boost.Asio](http://think-async.com/) :star: - A cross-platform C++ library for network and low-level I/O programming. [Boost]
* [Casablanca](http://casablanca.codeplex.com/) - C++ REST SDK. [Apache2]
* [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost]
* [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT]
2014-09-10 15:26:45 -04:00
* [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license]
* [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPLv2]
* [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD]
* [net_skeleton](https://github.com/cesanta/net_skeleton) - TCP client/server library for C/C++. [GPLv2]
* [nope.c](https://github.com/riolet/nope.c) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPLv2]
* [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPLv2]
2014-10-10 01:25:19 -04:00
* [POCO](https://github.com/pocoproject) :star: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/)
2014-10-10 15:33:07 -04:00
* [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD]
* [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPLv2]
* [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD]
* [ZeroMQ](http://zeromq.org/) - High-speed, modular asynchronous communication library. [LGPL]
2014-07-17 06:52:03 -04:00
2014-07-22 13:23:59 -04:00
## Physics
*Dynamics simulation engines*
* [Box2D](https://code.google.com/p/box2d/) - A 2D physics engine for games. [BSD-like]
* [Bullet](https://github.com/bulletphysics/bullet3) - A 3D physics engine for games. [zlib] [website](http://bulletphysics.org)
* [Chipmunk](https://github.com/slembcke/Chipmunk2D) - A fast and lightweight 2D game physics library. [MIT] [website](https://chipmunk-physics.net/)
* [LiquidFun](https://github.com/google/liquidfun) - A 2D physics engine for games. [BSD-like]
* [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL]
* [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like]
* [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2]
2014-07-22 13:23:59 -04:00
2014-10-13 19:16:32 -04:00
## Robotics
* [MOOS-IvP](http://moos-ivp.org) - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles.
* [MRPT](http://www.mrpt.org/) - Mobile Robot Programming Toolkit. [BSD]
2014-10-13 19:21:06 -04:00
* [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] [website](http://www.pointclouds.org/)
2014-10-13 19:16:32 -04:00
* [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD]
* [RobWork](http://www.robwork.dk/jrobwork/) - A collection of C++ libraries for simulation and control of robot systems. [Apache2]
* [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD]
2014-09-10 10:09:28 -04:00
## Scientific Computing
* [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL]
* [GSL](http://www.gnu.org/software/gsl/) - GNU scientific library. [GPL]
2014-07-23 06:52:18 -04:00
## Scripting
* [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/)
* [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT]
* [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT]
2014-10-13 19:21:06 -04:00
* [SWIG](http://www.swig.org/) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed]
* [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPLv2]
* [V8](http://code.google.com/p/v8/) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]
2014-07-23 06:52:18 -04:00
2014-07-17 06:52:03 -04:00
## Serialization
2014-08-13 07:57:47 -04:00
* [Cap'n Proto](http://kentonv.github.io/capnproto/) - Fast data interchange format and capability-based RPC system. [MIT]
* [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD]
2014-10-10 20:59:16 -04:00
* [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2]
2014-08-14 11:30:38 -04:00
* [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C/C++. [Apache2] [website](http://msgpack.org/)
2014-08-13 07:57:47 -04:00
* [protobuf](http://code.google.com/p/protobuf/) - Protocol Buffers - Google's data interchange format. [BSD]
2014-08-22 05:25:42 -04:00
* [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD]
2014-08-13 07:50:06 -04:00
* [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2]
* [Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developer by Twitter. [Apache2]
2014-07-17 06:52:03 -04:00
2014-08-14 13:50:07 -04:00
## Video
* [libvpx](http://www.webmproject.org/code/) - VP8/VP9 Codec SDK. [BSD]
* [FFmpeg](https://www.ffmpeg.org/) - A complete, cross-platform solution to record, convert and stream audio and video. [LGPLv2/GPL2]
2014-08-14 14:00:44 -04:00
* [libde265](https://github.com/strukturag/libde265) - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/)
2014-08-14 13:56:41 -04:00
* [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/)
* [Theora](http://www.theora.org/) - A free and open video compression format. [BSD]
2014-08-14 13:50:07 -04:00
## Virtual Machines
* [CarpVM](https://github.com/tekknolagi/carp) - "interesting" VM in C. Let's see how this goes. [GPLv3]
2014-10-13 19:21:06 -04:00
* [MicroPython](https://github.com/micropython/micropython) - Aims to put an implementation of Python 3.x on a microcontroller. [MIT]
* [TinyVM](https://github.com/jakogut/tinyvm) - A small, fast, lightweight virtual machine written in pure ANSI C. [MIT]
2014-07-17 06:52:03 -04:00
## Web Application Framework
* [Civetweb](https://github.com/bel2125/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT]
2014-08-13 08:15:48 -04:00
* [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3]
* [Crow](https://github.com/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD]
* [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC]
* [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3]
2014-08-14 13:08:16 -04:00
* [QDjango](https://github.com/jlaine/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]
2014-08-13 08:15:48 -04:00
* [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial]
2014-07-17 06:52:03 -04:00
2014-07-26 03:01:45 -04:00
## XML
2014-07-29 15:52:46 -04:00
*XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds*
2014-07-26 03:01:45 -04:00
* [Expat](http://www.libexpat.org/) - An XML parser library written in C. [MIT]
* [Libxml2](http://xmlsoft.org/) - The XML C parser and toolkit of Gnome. [MIT]
* [libxml++](http://libxmlplusplus.sourceforge.net/) - An XML Parser for C++. [LGPLv2]
* [PugiXML](http://pugixml.org/) - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT]
* [RapidXml](http://rapidxml.sourceforge.net/) - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost]
* [TinyXML](http://sourceforge.net/projects/tinyxml/) - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib]
* [TinyXML2](https://github.com/leethomason/tinyxml2) - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib]
* [TinyXML++](https://code.google.com/p/ticpp/) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT]
* [Xerces-C++](http://xerces.apache.org/xerces-c/) - A validating XML parser written in a portable subset of C++. [Apache2]
2014-07-26 03:01:45 -04:00
2014-07-26 08:54:02 -04:00
## Miscellaneous
*Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet*
2014-07-17 08:23:44 -04:00
* [C++ Format](https://github.com/cppformat/cppformat) - Small, safe and fast formatting library for C++. [BSD]
* [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL]
* [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost]
* [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial]
2014-10-13 19:02:48 -04:00
* [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications.
* [googlemock](http://code.google.com/p/googlemock/) - A library for writing and using C++ mock classes. [BSD]
2014-10-10 01:25:19 -04:00
* [HTTP Parser](https://github.com/joyent/http-parser) :star: - A http request/response parser for C. [MIT]
* [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD]
* [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3]
* [libusb](http://www.libusb.org/) - A universal USB library which allows for portable access to USB devices. [LGPLv2]
2014-09-10 15:58:50 -04:00
* [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD]
* [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPLv2/Commercial]
2014-09-10 15:58:50 -04:00
* [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT]
* [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT]
* [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD]
* [SLDR](https://github.com/cesanta/sldr) - Super Light DNS Resolver. [GPLv2/Commercial]
* [SLRE](https://github.com/cesanta/slre) - Super Light Regular Expression library. [GPLv2/Commercial]
* [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPLv2]
* [VarTypes](https://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
* [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPLv2]
* [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT]
* [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT]
* [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/)
2014-09-12 12:56:39 -04:00
* [Better String](http://bstring.sourceforge.net) - 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, GPLv2]
2014-07-17 08:23:44 -04:00
2014-07-17 09:34:23 -04:00
# Software
*Software for creating a development environment.*
2014-07-30 13:35:46 -04:00
## Compiler
2014-07-17 06:52:03 -04:00
*List of C/C++ compilers*
2014-07-17 08:48:06 -04:00
* [Clang](http://clang.llvm.org/) - Developed by Apple.
* [GCC](https://gcc.gnu.org/) - GNU Compiler Collection.
* [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel.
2014-07-27 10:11:50 -04:00
* [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies.
2014-09-10 15:58:50 -04:00
* [Microsoft Visual C++](http://msdn.microsoft.com/en-us/vstudio/hh386302.aspx) - MSVC, developed by Microsoft.
* [Open WatCom](http://www.openwatcom.org/index.php/Main_Page) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License]
* [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL]
2014-07-17 06:52:03 -04:00
2014-07-30 18:11:08 -04:00
## Online Compiler
*List of online C/C++ compilers*
* [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool.
* [CodeTwist](http://codetwist.com/) - A simple online compiler/interpreter, where you can paste your C, C++ or Java code and execute it online and see results.
2014-09-02 10:01:18 -04:00
* [coliru](http://coliru.stacked-crooked.com/) - Online compiler/shell with support for various C++ compilers.
2014-09-12 02:45:07 -04:00
* [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available.
2014-07-30 18:11:08 -04:00
* [CompileOnline](http://www.compileonline.com/compile_cpp11_online.php) - Compile and Execute C++ online on Linux.
* [Ideone](http://ideone.com/) - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.
2014-07-30 13:35:46 -04:00
## Debugger
*List of C/C++ debuggers*
* [Comparison of debuggers](http://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia.
* [GDB](https://www.gnu.org/software/gdb) - GNU Debugger.
* [Valgrind](http://valgrind.org/) - A tool for memory debugging, memory leak detection, and profiling.
* [x64_dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows.
## Integrated Development Environment
2014-07-17 09:34:23 -04:00
*List of C/C++ nominal IDEs.*
2014-07-17 06:52:03 -04:00
2014-09-20 14:53:00 -04:00
* [CLion](http://www.jetbrains.com/clion/) - Cross-platform C/C++ IDE from JetBrains. In pre-release/early access stadium.
2014-07-17 08:48:06 -04:00
* [Code::Blocks](http://www.codeblocks.org/) - A free C, C++ and Fortran IDE.
2014-09-10 09:20:30 -04:00
* [CodeLite](http://codelite.org/) - Another cross-plaform, free C/C++ IDE. [GPLv2 with an exception for plugins]
2014-07-17 08:48:06 -04:00
* [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) - A portable C/C++/C++11 IDE.
* [Eclipse CDT](http://www.eclipse.org/cdt/) - A fully functional C and C++ IDE based on the Eclipse platform.
2014-09-10 09:20:30 -04:00
* [Geany](http://www.geany.org/) - Small, fast, cross-platform IDE. [GPL]
2014-09-10 15:58:50 -04:00
* [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM.
2014-07-17 08:48:06 -04:00
* [KDevelop](https://www.kdevelop.org/) - A free, open source IDE.
* [Microsoft Visual Studio](http://www.visualstudio.com/) - An IDE from Microsoft.
* [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5.
2014-10-10 12:49:58 -04:00
* [Qt Creator](http://qt-project.org/) :star: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt.
2014-07-17 08:48:06 -04:00
* [Xcode](https://developer.apple.com/xcode/) - Developed by Apple.
* [YouCompleteMe](https://valloric.github.io/YouCompleteMe/) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.
2014-07-17 06:52:03 -04:00
2014-10-13 19:21:06 -04:00
## Build Systems
2014-08-12 04:57:56 -04:00
2014-10-13 19:21:06 -04:00
* [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution.
* [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects.
* [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files.
2014-08-12 04:57:56 -04:00
2014-07-29 06:42:34 -04:00
## Static Code Analysis
*List of tools for improving quality and reducing defects by code analysis*
* [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck)
* [include-what-you-use](https://code.google.com/p/include-what-you-use/) - A tool for use with clang to analyze includes in C and C++ source files.
2014-07-29 06:42:34 -04:00
* [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint)
* [List of tools for static code analysis](http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia.
2014-07-17 06:52:03 -04:00
# Resources
2014-07-23 07:01:42 -04:00
*Various resources, such as books, websites, and articles for improving your C++ development skills and knowledge.*
2014-07-17 06:52:03 -04:00
2014-10-09 15:54:42 -04:00
## API Design
2014-09-03 04:51:59 -04:00
* [Beautiful Native Libraries](http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/)
* [Designing Qt-Style C++ APIs](http://doc.qt.digia.com/qq/qq13-apis.html)
2014-09-03 04:51:59 -04:00
2014-07-23 07:01:42 -04:00
## Articles
*Fantastic C/C++ related articles.*
2014-07-17 06:52:03 -04:00
2014-09-17 16:36:39 -04:00
* [CppCon 2014 Speaker Materials](https://github.com/CppCon/CppCon2014) - Speaker materials from CppCon 2014.
2014-07-23 07:01:42 -04:00
* [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014.
* [C++Now 2013 Presentations](https://github.com/boostcon/cppnow_presentations_2013) - Presentation materials presented at C++Now 2013.
* [C++Now 2012 Presentations](https://github.com/boostcon/cppnow_presentations_2012) - Presentation materials presented at C++Now 2012.
2014-07-17 06:52:03 -04:00
2014-07-23 07:01:42 -04:00
## Books
*Fantastic C/C++ related books.*
2014-07-17 06:52:03 -04:00
2014-07-25 10:49:39 -04:00
* [The C++ Annotations](http://cppannotations.sourceforge.net/annotations/html/) - An in-depth guide on C++, intended for people with a good knowledge of C who want to make the transition to C++.
2014-07-23 06:52:18 -04:00
* [Free C Books](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#c) - vhf/free-programming-books/C.
* [Free C++ Books](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#c-1) - vhf/free-programming-books/C++.
2014-07-23 07:01:42 -04:00
* [The Definitive C++ Book Guide and List](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) - A collection of quality books and an approximate skill level.
2014-07-17 07:25:16 -04:00
2014-08-04 07:17:11 -04:00
## Coding Style
* [google-styleguide](http://code.google.com/p/google-styleguide/) - Style guides for Google-originated open-source projects.
* [Google C++ Style Guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml)
* [GNU Coding Standard](http://www.gnu.org/prep/standards/standards.html)
2014-10-09 15:54:42 -04:00
## Talks
2014-10-10 16:13:50 -04:00
* [CppCon Talks](https://www.youtube.com/user/CppCon/videos) :star: - The C++ conference.
2014-10-09 22:38:56 -04:00
* [Quick game development with C++11/C++14](https://github.com/SuperV1234/cppcon2014) - CppCon 2014 talk by Vittorio Romeo.
2014-10-09 15:54:42 -04:00
2014-07-23 07:01:42 -04:00
## Videos
2014-07-23 07:04:08 -04:00
*Fantastic C/C++ related videos.*
2014-07-17 06:52:03 -04:00
2014-07-19 10:42:42 -04:00
* [Awesome C Programming Tutorials in Hi Def [HD]](https://www.youtube.com/playlist?list=PLCB9F975ECF01953C) - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers.
* [C++](https://www.youtube.com/playlist?list=PL2F919ADECA5E39A6) - by VoidRealms.
* [C++ Qt Programming](https://www.youtube.com/playlist?list=PL2D1942A4688E9D63) - by VoidRealms.
2014-10-09 22:38:56 -04:00
* [C++ Programming Tutorials Playlist](https://www.youtube.com/playlist?list=PLAE85DE8440AA6B83) - TheNewBoston Official Buckys C++ Programming Tutorials Playlist.
2014-07-19 10:42:42 -04:00
* [C++ Programming Tutorials from thenewboston](https://www.youtube.com/playlist?list=PLF541C2C1F671AEF6) - These are all of thenewboston's C++ programming tutorials.
* [C++ GUI with Qt Playlist](https://www.youtube.com/playlist?list=PLD0D54219E5F2544D) - Official Playlist for thenewboston C++ GUI with Qt tutorials.
2014-10-09 22:38:56 -04:00
* [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here.
2014-07-19 10:42:42 -04:00
2014-07-23 07:04:08 -04:00
## Websites
*Useful C/C++ related websites.*
2014-07-23 07:01:42 -04:00
2014-10-10 01:05:51 -04:00
* [Standard C++](http://isocpp.org/) :star: - News, Status & Discussion about Standard C++.
2014-10-10 16:16:56 -04:00
* [CppCon](http://cppcon.org/) - The C++ Conference.
2014-07-23 07:01:42 -04:00
* [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference.
2014-07-29 04:54:52 -04:00
* [cplusplus.com](http://www.cplusplus.com/) - The C++ Resources Network.
2014-10-11 00:54:50 -04:00
* [Meeting C++](http://meetingcpp.com/)
2014-07-23 07:01:42 -04:00
2014-09-07 16:49:17 -04:00
## Weblogs
*Useful C/C++ related weblogs.*
2014-10-08 15:13:18 -04:00
* [Coding For Speed](http://codingforspeed.com/) - Coding For Speed DOT COM, Less Execution Time.
2014-10-10 15:16:48 -04:00
* [Eric Niebler](http://ericniebler.com/)
2014-09-07 16:49:17 -04:00
* [Sticky Bits](http://blog.feabhas.com/)
* [Paul Fultz II's Blog](http://pfultz2.com/blog/)
2014-07-17 13:48:46 -04:00
## Other Awesome Projects
2014-07-17 08:52:58 -04:00
*Collection of useful codes, snippets, ...*
2014-07-17 07:20:32 -04:00
2014-07-17 10:21:08 -04:00
* [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++.
* [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library.
2014-07-17 07:20:32 -04:00
* [C/C++ Awesome Pack](https://github.com/junian/CppAwesomePack) - Contains some awesome c++ codes, packed in one.
2014-07-17 11:10:45 -04:00
# Other Awesome Lists
*Other amazingly awesome lists*
2014-10-09 22:38:56 -04:00
* [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub.
2014-07-17 13:48:46 -04:00
* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness.
* [awesome](https://github.com/sindresorhus/awesome) - A curated list of awesome lists.
2014-10-09 22:38:56 -04:00
* [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books.
2014-07-17 13:48:46 -04:00
* [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss.
* [awesome-php](https://github.com/ziadoz/awesome-php) - Awesome PHP libraries, resources and shiny things.
* [awesome-python](https://github.com/vinta/awesome-python) - Awesome Python frameworks, libraries and software.
2014-10-09 22:38:56 -04:00
* [awesome-sysadmin](https://github.com/kahun/awesome-sysadmin) - Awesome open source sysadmin resources.
2014-07-23 13:01:58 -04:00
* [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks.
2014-07-17 13:48:46 -04:00
* [github-cheat-sheet](https://github.com/tiimgreen/github-cheat-sheet) - A list of cool features of Git and GitHub.
* [ToolsOfTheTrade](https://github.com/cjbarber/ToolsOfTheTrade) - Tools of The Trade, from Hacker News.
* [cheatsheets.org](http://www.cheatsheets.org/) - The largest collection of reference cards for developers.
* [cheat-sheets.org](http://www.cheat-sheets.org/) - All cheat sheets, round-ups, quick reference cards, quick reference guides and quick reference sheets in one page.
* [thefreecountry.com](http://www.thefreecountry.com/) - A collection of free programming resources, free webmasters' resources, free security resources and free utilities.
2014-07-17 11:10:45 -04:00
2014-07-17 06:52:03 -04:00
# Contributing
Please see [CONTRIBUTING](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details.