mirror of
https://github.com/fffaraz/awesome-cpp.git
synced 2024-11-13 11:16:54 -05:00
12 KiB
12 KiB
Awesome C/C++
A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
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.
Frameworks
C++ generic frameworks and libraries.
- Apache C++ Standard Library - A collection of algorithms, containers, iterators, and other fundamental components.
- ASL - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries.
- Boost - A large collection of generic C++ libraries.
- BDE - The BDE Development Environment from Bloomberg Labs.
- Cinder - A community-developed, free and open source library for professional-quality creative coding.
- Cxxomfort - A small, header-only library that backports to C++03 some of the nifty C++11 goodies.
- Dlib - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques.
- ffead-cpp - Framework for Enterprise Application Development.
- Folly - An open-source C++ library developed and used at Facebook.
- JUCE - An all-encompassing C++ class library for developing cross-platform software.
- LibSourcey - C++11 evented IO for real-time video streaming and high performance networking applications.
- LibU - A multiplatform utility library written in C.
- Loki - A C++ library of designs, containing flexible implementations of common design patterns and idioms.
- MiLi - Minimal headers-only C++ Library.
- openFrameworks - An open source C++ toolkit for creative coding.
- Qt - A cross-platform application and UI framework.
- 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++.
- STXXL - Standard Template Library for Extra Large Data Sets.
- Ultimate++ - A C++ cross-platform rapid application development framework.
- Windows Template Library - A C++ library for developing Windows applications and UI components.
- Yomm11 - Open multi-methods for C++11.
##Artificial Intelligence
- Evolving Objects - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast.
- Neu - A C++ 11 framework, collection of programming languages, and multipurpose software system designed for: the creation of artificial intelligence applications.
Concurrency
- Intel TBB - Intel® Threading Building Blocks.
- OpenMP - The OpenMP API.
- Thrust - A parallel algorithms library which resembles the C++ Standard Template Library (STL).
- HPX - A general purpose C++ runtime system for parallel and distributed applications of any scale.
Containers
- C++ B-tree - A template library that implements ordered in-memory containers based on a B-tree data structure.
Cryptography
- Crypto++ - A free C++ class library of cryptographic schemes.
- LibTomCrypt - A fairly comprehensive, modular and portable cryptographic toolkit.
- OpenSSL - a robust, commercial-grade, full-featured, and Open Source cryptography library.
GUI
Graphic User Interface
- GTK+ - A multi-platform toolkit for creating graphical user interfaces.
- gtkmm - The official C++ interface for the popular GUI library GTK+.
- wxWidgets - a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base.
- Qwt - Qt Widgets for Technical Applications.
- QwtPlot3D - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets.
Graphics
- Ogre 3D - One of the most popular open-source graphics rendering engines.
Internationalization
- IBM ICU - A set of C/C++ and Java libraries providing Unicode and Globalization support.
- gettext - GNU `gettext'.
JSON
- frozen - JSON parser and generator for C/C++.
- picojson - A header-file-only, JSON parser serializer in C++.
Machine Learning
- OpenCV - Open Computer Vision.
- Recommender - A C library for product recommendations/suggestions using collaborative filtering (CF).
- CCV - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library.
- mlpack - A scalable c++ machine learning library.
- sofia-ml - The suite of fast incremental algorithms for machine learning.
- SHOGUN - The Shogun Machine Learning Toolbox.
- Caffe - A fast framework for neural networks.
Mocking
- googlemock - A library for writing and using C++ mock classes.
Multimedia
Networking
- ACE - An OO Network Programming Toolkit in C++.
- Asio - A cross-platform C++ library for network and low-level I/O programming.
- Casablanca - C++ REST SDK.
- cpp-netlib - A collection of open-source libraries for high level network programming.
- net_skeleton - TCP client/server library for C/C++.
- POCO - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems.
Serialization
- cereal - A C++11 library for serialization.
- protobuf - Protocol Buffers - Google's data interchange format.
Testing
- CppUnit - C++ port of JUnit.
- googletest - Google C++ Testing Framework.
Web Application Framework
- CppCMS - A Free High Performance Web Development Framework (not a CMS).
- Crow - Crow is C++ micro web framework (inspired by Python Flask).
- Wt - A C++ library for developing web applications.
Etc.
Software
Software for creating a development environment.
Compilers
List of C/C++ compilers
- Clang - Developed by Apple.
- GCC - GNU Compiler Collection.
- Intel C++ Compiler - Developed by Intel.
- Microsoft Visual C++ - MSVC, developed by Microsoft.
Integrated Development Environments
List of C/C++ nominal IDEs.
- Code::Blocks - A free C, C++ and Fortran IDE.
- Dev-C++ - A portable C/C++/C++11 IDE.
- Eclipse CDT - A fully functional C and C++ IDE based on the Eclipse platform.
- KDevelop - A free, open source IDE.
- Microsoft Visual Studio - An IDE from Microsoft.
- NetBeans - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5.
- Qt Creator - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for the Qt.
- Xcode - Developed by Apple.
Resources
Various resources, such as books, websites and articles, for improving your C++ development skills and knowledge.
C++ Websites
Useful C++ related websites.
- C++ reference - C++98, C++03, C++11, C++14 reference.
C++ Books
Fantastic C++ related books.
- The C++ Annotations - An in-depth guide on C++, intended for people with a good knowledge of C who want to make the transition to C++.
C++ Articles
Fantastic C++ related articles.
- C++Now 2014 Presentations - Presentation materials presented at C++Now 2014.
- C++Now 2013 Presentations - Presentation materials presented at C++Now 2013.
- C++Now 2012 Presentations - Presentation materials presented at C++Now 2012.
C++ Videos
Fantastic C++ related videos.
Other Awesome Things
Collection of useful codes, snippets, ...
- algorithms - Algorithms & Data Structures in C++.
- c-algorithms - C algorithms library.
- C/C++ Awesome Pack - Contains some awesome c++ codes, packed in one.
Other Awesome Lists
Other amazingly awesome lists
Contributing
Please see CONTRIBUTING for details.