C/C++ 框架,类库,资源集合
很棒的 C/C++ 框架,类库,资源集合。

  • Awesome C/C++

    • Standard Libraries
    • Frameworks
    • Artificial Intelligence
    • Asynchronous Event Loop
    • Audio
    • Biology
    • Compression
    • Concurrency
    • Containers
    • Cryptography
    • Database
    • Debug
    • Game Engine
    • GUI
    • Graphics
    • Image Processing
    • Internationalization
    • JSON
    • Logging
    • Machine Learning
    • Math
    • Multimedia
    • Networking
    • Physics
    • Scientific Computing
    • Scripting
    • Serialization
    • Video
    • Virtual Machines
    • Web Application Framework
    • XML
    • Miscellaneous
  • Software
    • Compiler
    • Online Compiler
    • Debugger
    • Integrated Development Environment
    • Buildsystem
    • Static Code Analysis
  • Resources
    • API Design
    • Articles
    • Books
    • Coding Style
    • Videos
    • Websites
  • Other Awesome Lists
  • Contributing

标准库Standard Libraries

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

  • 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

框架Frameworks

C++ generic frameworks and libraries.

  • Apache C++ Standard Library - A collection of algorithms, containers, iterators, and other fundamental components. [Apache2]
  • ASL - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
  • Boost :star: - A large collection of generic C++ libraries. [Boost] website
  • BDE - The BDE Development Environment from Bloomberg Labs. [MIT]
  • Cinder - A community-developed, free and open source library for professional-quality creative coding. [BSD]
  • Cxxomfort - A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT]
  • Dlib :star: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost]
  • EASTL - Public part of EA-STL. [BSD]
  • ffead-cpp - Framework for Enterprise Application Development. [Apache2]
  • Folly - An open-source C++ library developed and used at Facebook. [Apache2]
  • JUCE - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] 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]
  • Loki - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT]
  • MiLi - Minimal headers-only C++ Library. [Boost]
  • openFrameworks - An open source C++ toolkit for creative coding. [MIT]
  • Qt :star: - A cross-platform application and UI framework. [LGPL]
  • 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]
  • 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]
  • STLport - An exemplary version of STL. [Free]
  • STXXL - Standard Template Library for Extra Large Data Sets. [Boost]
  • Ultimate++ - A C++ cross-platform rapid application development framework. [BSD]
  • Windows Template Library - A C++ library for developing Windows applications and UI components. [Public]
  • Yomm11 - Open multi-methods for C++11. [Boost]

人工智能Artificial Intelligence

  • btsk - Game Behavior Tree Starter Kit. [zlib]
  • Evolving Objects - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL]
  • Neu - A C++ 11 framework, collection of programming languages, and multipurpose software system designed for: the creation of artificial intelligence applications. [BSD]

异步事件循环Asynchronous Event Loop

  • Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost]
  • 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]
  • libuv - Cross-platform asychronous I/O. [BSD]

音频Audio

Audio, Sound, Music, Digitized Voice Libraries

  • FMOD - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]
  • Maximilian - C++ Audio and Music DSP Library. [MIT]
  • OpenAL - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial]
  • Opus - A totally open, royalty-free, highly versatile audio codec. [BSD]
  • 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]

Biology

Bioinformatics, Genomics, Biotech

  • 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.

压缩Compression

Compression and Archiving Libraries

  • bzip2 - A freely available, patent free, high-quality data compressor. [BSD]
  • doboz - Compression library with very fast decompression. [zlib]
  • 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]
  • LZ4 - Extremely Fast Compression algorithm. [BSD]
  • 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. [LGPL]
  • 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. [Unlicense]
  • Minizip - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib]
  • Snappy - A fast compressor/decompressor. [BSD]
  • ZLib - A very compact compression library for data streams. [zlib]
  • ZZIPlib - Provides read access on ZIP-archives. [MPL/LGPL]

并发Concurrency

并发与多线程Concurrency and Multithreading

  • Boost.Compute - A C++ GPU Computing Library for OpenCL. [Boost]
  • Bolt - A C++ template library optimized for GPUs. [Apache2]
  • C++React - A reactive programming library for C++11. [Boost]
  • Intel TBB - Intel® Threading Building Blocks. [GPLv2 with runtime exception]
  • Libclsph - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT]
  • OpenCL - The open standard for parallel programming of heterogeneous systems.
  • OpenMP - The OpenMP API.
  • Thrust - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2]
  • HPX - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
  • VexCL - A C++ vector expression template library for OpenCL/CUDA. [MIT]

Containers

  • C++ B-tree - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]
  • Hashmaps - Implementation of open addressing hash table algorithms in C++. [MIT]

Cryptography

Cryptography and Encryption Libraries

  • Bcrypt - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors.
  • Crypto++ - A free C++ class library of cryptographic schemes. [Boost]
  • LibTomCrypt - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL]
  • libsodium - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC]
  • OpenSSL - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache]
  • Tiny AES128 in C - A small and portable implementation of the AES128 ECB encryption algorithm implemented in C. [PublicDomain]

数据库Database

数据库库,SQL服务器,ODBC驱动和工具。Database Libraries, SQL Servers, ODBC Drivers, and Tools

  • hiberlite - C++ Object-relational mapping for sqlite3. [BSD]
  • Hiredis - A minimalistic C client library for the Redis database. [BSD]
  • LevelDB - A fast key-value storage library. [BSD]
  • LMDB - Very fast embedded key/value store with full ACID semantics. [OpenLDAP]
  • MySQL++ - A C++ wrapper for MySQL's C API. [LGPL]
  • RocksDB - Embedded key-value store for fast storage from facebook. [BSD]
  • SQLite - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain]

调试Debug

调试库,内存泄漏和资源泄漏检测,单元测试。Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing

  • Catch - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD. [Boost]
  • CppUnit - C++ port of JUnit. [LGPLv2]
  • googletest - Google C++ Testing Framework. [BSD]
  • ig-debugheap - Multiplatform debug heap useful for tracking down memory errors. [BSD]
  • libtap - Write tests in C. [GPLv2]
  • MemTrack - Tracking memory allocations in C++.
  • microprofile - Profiler with web-view for multiple platforms. [PublicDomain]
  • minUnit - A minimal unit testing framework for C written using only 2 macros. [PublicDomain]
  • Remotery - Single C File Profiler with Web Viewer. [Apache2]
  • UnitTest++ - A lightweight unit testing framework for C++. [MIT/X Consortium license]

游戏引擎Game Engine

  • Cocos2d-x - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [Commercial?]
  • Grit - Community project to build a free game engine for implementing open world 3D games. [MIT]
  • Irrlicht - An open source high performance realtime 3D engine written in C++. [zlib]
  • Polycode - Open-Source Framework for creating games in C++ (with Lua bindings). [MIT]

GUI

图形用户界面Graphic User Interface

  • CEGUI - Flexible, cross-platform GUI library.
  • FLTK - Fast, light, cross-platform C++ GUI toolkit. [GPLv2]
  • GTK+ - A multi-platform toolkit for creating graphical user interfaces. [LGPL]
  • gtkmm - The official C++ interface for the popular GUI library GTK+. [LGPL]
  • imgui - Immediate Mode Graphical User Interface with minimal dependencies. [MIT]
  • libRocket - libRocket is a C++ HTML/CSS game interface middleware. [MIT]
  • MyGUI - Fast, flexible and simple GUI. [MIT]
  • Ncurses - A terminal user interfaces. [MIT]
  • QCustomPlot - Qt plotting widget without further dependencies. [GPLv3]
  • Qwt - Qt Widgets for Technical Applications. [Own based on LGPL]
  • QwtPlot3D - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib]
  • OtterUI - OtterUI is a User Interface development solution for embedded systems and interactive entertainment software. [MIT]
  • PDCurses - Public domain curses library with both source code and pre-compiled library available. [PublicDomain]
  • wxWidgets - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL]

Graphics

  • bgfx - A cross-platform rendering library. [BSD]
  • Cairo - A 2D graphics library with support for multiple output devices. [LGPLv2 or Mozilla MPL]
  • Horde3D - A small 3D rendering and animation engine. [EPL]
  • magnum - C++11 and OpenGL 2D/3D graphics engine. [MIT] website
  • Ogre 3D - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT]
  • OpenSceneGraph - An open source high performance 3D graphics toolkit. [OSGPL]
  • Panda3D - A framework for 3D rendering and game development for Python and C++. [BSD]
  • Skia - A complete 2D graphic library for drawing Text, Geometries, and Images. [bSD] webpage
  • urho3d - Cross-platform rendering and game engine. [Many different, mostly MIT]

图片处理Image Processing

  • Boost.GIL - Generic Image Library.
  • CImg - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL]
  • CxImage - A C++ class to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib]
  • FreeImage - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPLv2 or GPLv3]
  • GDCM - Grassroots DICOM library.
  • ITK - An open-source, cross-platform system for image analysis. [Apache 2.0 from ITK 4.0]
  • Magick++ - ImageMagick program interfaces for C++. [Apache 2.0]
  • MagickWnd - ImageMagick program interfaces for C. [Apache 2.0]
  • OpenCV - Open source computer vision. [BSD]
  • tesseract-ocr - An OCR engine. [Apache 2.0]
  • VIGRA - a generic C++ computer vision library for image analysis. [MIT X11]
  • VTK - Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD]

Internationalization

  • gettext - GNU `gettext'. [GPLv2]
  • IBM ICU - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU]
  • libiconv - An encoding conversion library between different character encodings. [GPL]

JSON

  • frozen - JSON parser and generator for C/C++. [GPL & GPLv2]
  • Jansson - C library for encoding, decoding and manipulating JSON data. [MIT]
  • jbson - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost]
  • JeayeSON - A very sane (header only) C++ JSON library. [BSD]
  • JSON++ - A JSON parser in C++. [MIT]
  • json-parser - Very low footprint JSON parser written in portable ANSI C. [BSD]
  • json11 - A tiny JSON library for C++11. [MIT]
  • jute - Very simple C++ JSON Parser. [PublicDomain]
  • libjson - A JSON parser and printer library in C. easy to integrate with any model. [LGPL]
  • libjson - Lightweight JSON library. [?]
  • PicoJSON - A header-file-only, JSON parser serializer in C++. [BSD]
  • qt-json - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3]
  • QJson - A qt-based library that maps JSON data to QVariant objects. [LGPLv2]
  • RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT]
  • YAJL :star: - A fast streaming JSON parsing library in C. [ISC]

Logging

  • Boost.Log - Designed to be very modular and extensible. [Boost]
  • easyloggingpp - Single header only C++ logging library. [MIT] website
  • Log4cpp - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL]
  • templog - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]

机器学习Machine Learning

  • Caffe - A fast framework for neural networks. [BSD]
  • CCV - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD]
  • mlpack - A scalable c++ machine learning library. [LGPLv3]
  • OpenCV - Open Source Computer Vision Library. [BSD] website
  • Recommender - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD]
  • SHOGUN - The Shogun Machine Learning Toolbox. [GPLv3]
  • sofia-ml - The suite of fast incremental algorithms for machine learning. [Apache2]

数学Math

  • Armadillo - 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]
  • blaze - high-performance C++ math library for dense and sparse arithmetic. [BSD]
  • ceres-solver - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
  • CGal - Collection of efficient and reliable geometric algorithms. [LGPL&GPL]
  • cml - free C++ math library for games and graphics. [Boost]
  • Eigen - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2]
  • GMP - A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPLv3 and GPLv2]

Multimedia

  • GStreamer - A library for constructing graphs of media-handling components. [LGPL]
  • LIVE555 Streaming Media - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
  • libVLC - libVLC (VLC SDK) media framework. [GPL]
  • QtAv - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] website
  • SDL - Simple DirectMedia Layer. [zlib]
  • SFML - Simple and Fast Multimedia Library.[zlib]

网络Networking

  • ACE - An OO Network Programming Toolkit in C++. [?MIT?]
  • Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost]
  • Casablanca - C++ REST SDK. [Apache2]
  • cpp-netlib - A collection of open-source libraries for high level network programming. [Boost]
  • Dyad.c - Asynchronous networking for C. [MIT]
  • libcurl - Multiprotocol file transfer library. [MIT/X derivate license]
  • Mongoose - Extremely lightweight webserver. [GPLv2]
  • Muduo - A C++ non-blocking network library for multi-threaded server in Linux. [BSD]
  • net_skeleton - TCP client/server library for C/C++. [GPLv2]
  • 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 - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPLv2]
  • POCO :star: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] website
  • Tufão - An asynchronous web framework for C++ built on top of Qt. [LGPLv2]
  • WebSocket++ - C++/Boost Asio based websocket client/server library. [BSD]
  • ZeroMQ - High-speed, modular asynchronous communication library. [LGPL]

Physics

Dynamics simulation engines

  • Box2D - A 2D physics engine for games. [BSD-like]
  • Bullet - A 3D physics engine for games. [zlib] website
  • Chipmunk - A fast and lightweight 2D game physics library. [MIT] website
  • LiquidFun - A 2D physics engine for games. [BSD-like]
  • ODE - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL]
  • ofxBox2d - openFrameworks wrapper for Box2D. [BSD-like]
  • Simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2]

Scientific Computing

  • FFTW - A C library for computing the DFT in one or more dimensions. [GPL]
  • GSL - GNU scientific library. [GPL]

Scripting

  • ChaiScript - An easy to use embedded scripting language for C++. [BSD] website
  • Lua - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT]
  • luacxx - C++11 API for creating Lua bindings. [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]
  • V7 - An embedded JavaScript engine. [GPLv2]
  • V8 - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]

Serialization

  • Cap'n Proto - Fast data interchange format and capability-based RPC system. [MIT]
  • cereal - A C++11 library for serialization. [BSD]
  • FlatBuffers - A Memory efficient serialization library. [Apache2]
  • MessagePack - Efficient binary serialization format "like JSON" for C/C++. [Apache2] website
  • protobuf - Protocol Buffers - Google's data interchange format. [BSD]
  • protobuf-c - Protocol Buffers implementation in C. [BSD]
  • SimpleBinaryEncoding - encoding and decoding application messages in binary format for low-latency applications. [Apache2]
  • Thrift - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developer by Twitter. [Apache2]

Video

  • libvpx - VP8/VP9 Codec SDK. [BSD]
  • FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video. [LGPLv2/GPL2]
  • libde265 - Open h.265 video codec implementation. [LGPL] website
  • OpenH264 - Open Source H.264 Codec. [BSD] website
  • Theora - A free and open video compression format. [BSD]

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

  • Civetweb - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT]
  • CppCMS - A Free High Performance Web Development Framework (not a CMS). [LGPLv3]
  • Crow - Crow is C++ micro web framework (inspired by Python Flask). [BSD]
  • Kore - ultra fast and flexible web server / framework for web applications developed in C. [ISC]
  • libOnion - lightweight library to help you create webservers in C programming language. [LGPLv3]
  • 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]
  • Wt - A C++ library for developing web applications. [GPL/Commercial]

XML

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

  • Expat - An XML parser library written in C. [MIT]
  • Libxml2 - The XML C parser and toolkit of Gnome. [MIT]
  • libxml++ - An XML Parser for C++. [LGPLv2]
  • PugiXML - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT]
  • RapidXml - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost]
  • TinyXML - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib]
  • 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]
  • Xerces-C++ - A validating XML parser written in a portable subset of C++. [Apache2]

Miscellaneous

Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet

  • C++ Format - Small, safe and fast formatting library for C++. [BSD]
  • casacore - A set of c++ core libraries derived from aips++. [LGPL]
  • cxx-prettyprint - A pretty printing library for C++ containers. [Boost]
  • DynaPDF - An easy-to-use PDF generation library. [Commercial]
  • googlemock - A library for writing and using C++ mock classes. [BSD]
  • HTTP Parser :star: - A http request/response parser for C. [MIT]
  • libcpuid - A small C library for x86 CPU detection and feature extraction. [BSD]
  • libevil - The Evil License Manager. [GPLv3]
  • libusb - A universal USB library which allows for portable access to USB devices. [LGPLv2]
  • PCRE - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD]
  • Remote Call Framework - Inter-process communication framework for C++. [GPLv2/Commercial]
  • Scintilla - A free source code editing component. [MIT]
  • Serial Communication Library - Cross-platform, Serial Port library written in C++. [MIT]
  • SDS - Simple Dynamic Strings library for C. [BSD]
  • SLDR - Super Light DNS Resolver. [GPLv2/Commercial]
  • SLRE - Super Light Regular Expression library. [GPLv2/Commercial]
  • Stage - Mobile robot simulator. [GPLv2]
  • VarTypes - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
  • ZBar - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPLv2]
  • CppVerbalExpressions - C++ regular expressions made easy. [MIT]
  • QtVerbalExpressions - This Qt lib is based off of the C++ VerbalExpressions library. [MIT]
  • PHP-CPP - A library to build PHP extensions with C++. [Apache2] website
  • Better String - 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]

Software

Software for creating a development environment.

Compiler

List of C/C++ compilers

  • Clang - Developed by Apple.
  • GCC - GNU Compiler Collection.
  • Intel C++ Compiler - Developed by Intel.
  • LLVM - Collection of modular and reusable compiler and toolchain technologies.
  • Microsoft Visual C++ - MSVC, developed by Microsoft.
  • Open WatCom - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License]
  • TCC - Tiny C Compiler. [LGPL]

Online Compiler

List of online C/C++ compilers

  • codepad - An online compiler/interpreter, and a simple collaboration tool.
  • CodeTwist - A simple online compiler/interpreter, where you can paste your C, C++ or Java code and execute it online and see results.
  • coliru - Online compiler/shell with support for various C++ compilers.
  • Compiler Explorer - An interactive compiler with assembly output available.
  • CompileOnline - Compile and Execute C++ online on Linux.
  • Ideone - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.

Debugger

List of C/C++ debuggers

  • Comparison of debuggers - A list of Debuggers from Wikipedia.
  • GDB - GNU Debugger.
  • Valgrind - A tool for memory debugging, memory leak detection, and profiling.
  • x64_dbg - An open-source x64/x32 debugger for windows.

Integrated Development Environment

List of C/C++ nominal IDEs.

  • CLion - Cross-platform C/C++ IDE from JetBrains. In pre-release/early access stadium.
  • Code::Blocks - A free C, C++ and Fortran IDE.
  • CodeLite - Another cross-plaform, free C/C++ IDE. [GPLv2 with an exception for plugins]
  • Dev-C++ - A portable C/C++/C++11 IDE.
  • Eclipse CDT - A fully functional C and C++ IDE based on the Eclipse platform.
  • Geany - Small, fast, cross-platform IDE. [GPL]
  • IBM VisualAge - A family of computer integrated development environments from IBM.
  • 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 Qt.
  • Xcode - Developed by Apple.
  • YouCompleteMe - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.

Buildsystem

  • FASTBuild - high performance, open-source build system supporting highly scalable compilation, caching and network distribution.
  • tundra - high-performance code build system designed to give the best possible incremental build times even for very large software projects.
  • tup - file-based build system that monitors in the background for changed files.

Static Code Analysis

List of tools for improving quality and reducing defects by code analysis

  • Cppcheck - A tool for static C/C++ code analysis. - source
  • include-what-you-use - A tool for use with clang to analyze includes in C and C++ source files.
  • OCLint - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. -source
  • List of tools for static code analysis - A list of tools for static code analysis from Wikipedia.

Resources

Various resources, such as books, websites, and articles for improving your C++ development skills and knowledge.

API Design

  • Beautiful Native Libraries
  • Designing Qt-Style C++ APIs

Articles

Fantastic C/C++ related articles.

  • CppCon 2014 Speaker Materials - Speaker materials from CppCon 2014.
  • 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.

Books

Fantastic C/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++.
  • Free C Books - vhf/free-programming-books/C.
  • Free C++ Books - vhf/free-programming-books/C++.
  • The Definitive C++ Book Guide and List - A collection of quality books and an approximate skill level.

Coding Style

  • google-styleguide - Style guides for Google-originated open-source projects.
  • Google C++ Style Guide
  • GNU Coding Standard

Talks

  • Quick game development with C++11/C++14 - CppCon 2014 talk by Vittorio Romeo.

Videos

Fantastic C/C++ related videos.

  • Awesome C Programming Tutorials in Hi Def [HD] - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers.
  • C++ - by VoidRealms.
  • C++ Qt Programming - by VoidRealms.
  • C++ Programming Tutorials Playlist - TheNewBoston Official Buckys C++ Programming Tutorials Playlist.
  • C++ Programming Tutorials from thenewboston - These are all of thenewboston's C++ programming tutorials.
  • C++ GUI with Qt Playlist - Official Playlist for thenewboston C++ GUI with Qt tutorials.
  • C Programming Tutorials - All of TheNewBoston's C programming tutorials are right here.

Websites

Useful C/C++ related websites.

  • Standard C++ :star: - News, Status & Discussion about Standard C++.
  • C++ reference - C++98, C++03, C++11, C++14 reference.
  • cplusplus.com - The C++ Resources Network.

Weblogs

Useful C/C++ related weblogs.

  • Coding For Speed - Coding For Speed DOT COM, Less Execution Time.
  • Sticky Bits
  • Paul Fultz II's Blog

Other Awesome Projects

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

  • lists - List of (awesome) lists curated on GitHub.
  • awesome-awesomeness - A curated list of awesome awesomeness.
  • awesome - A curated list of awesome lists.
  • free-programming-books - List of Freely Available Programming Books.
  • papers-we-love - Papers from the computer science community to read and discuss.
  • awesome-php - Awesome PHP libraries, resources and shiny things.
  • awesome-python - Awesome Python frameworks, libraries and software.
  • awesome-sysadmin - Awesome open source sysadmin resources.
  • awesome-talks - A lot of screencasts, recordings of user group gatherings and conference talks.
  • github-cheat-sheet - A list of cool features of Git and GitHub.
  • ToolsOfTheTrade - Tools of The Trade, from Hacker News.
  • cheatsheets.org - The largest collection of reference cards for developers.
  • cheat-sheets.org - All cheat sheets, round-ups, quick reference cards, quick reference guides and quick reference sheets in one page.
  • thefreecountry.com - A collection of free programming resources, free webmasters' resources, free security resources and free utilities.

项目主页:https://github.com/fffaraz/awesome-cpp

fffaraz / awesome-cpp

Watch1224 Fork237

项目描述:A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. —查看更多内容...

问题列表:
#23 Split the list into C and C++

C/C++ 框架,类库,资源集合相关推荐

  1. (读书笔记).NET大局观-.NET框架类库概观

    .NET框架类库概况 构建在.NET框架上所有的软件,都会用到通用语言进行时,即使基于最简单的CLR程序,也需要用到一部分.NET框架类库,更精致复杂的软件则使用这个类库提供的更多服务. .NET框架 ...

  2. .NET框架类库中的命名空间

    .NET 框架类库是一个由 Microsoft .NET 框架 SDK 中包含的类.接口和值类型组成的库. 该库提供对系统功能的访问,并且被设计为 .NET 框架应用程序.组件和控件的生成基础. .N ...

  3. C++标准库,框架等资源大汇总!

    C++标准库,框架等资源大汇总! C++ 资源大全 关于 C++ 框架.库和资源的一些汇总列表,内容包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C+ ...

  4. 常用的100个PHP类库资源和技巧

    收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需,本文主要和大家分享常用的100个PHP 类库资源和技巧,希望能帮助到大家. PHP相关的有参考价值的社区,博客,网站,文章, ...

  5. 优质中文NLP资源集合,做项目一定用得到!

    整理 | Jane 出品 | AI科技大本营(公众号id:rgznai100) 今天要给大家在推荐 Github 上一个优质的中文 NLP 工具和资源集合项目--funNLP,已经获得了 5.3k S ...

  6. vue中集合取第一个_快速学习Vue框架(知识点集合)

    学习Vue的小伙伴速度看过来,快速学习Vue框架知识点集合贴来啦.建议收藏,尤其基础并不是很扎实的同学,本篇集合贴就是你日后工作的参考手册. 基础知识: ·vue的生命周期:beforeCreate/ ...

  7. Flex及AIR开发资源集合

    这篇文章是我在平时经常用到或者收藏的相关于Flex与AIR开发的资源集合,在这里列出来给各位共享,同时也是便于以后自己使用.(将来会按照列表资源的URL更新而改动,版本更新就不做更改了) 开发工具 F ...

  8. C++-网络库:Poco概述【开源的C++类库的集合】【提供简单的、快速的网络和可移植应用程序的C++开发】【和C++标准库可以很好的集成并填补C++标准库的功能空缺】【适合嵌入式开发】

    学习一个框架前,要先明白它的是什么,为什么,怎么用.下面这些文字,是从中文poco官网上转过来的,正如poco c++库的特点,非常清晰,代码风格更是一目了然: poco开发库的特点,非常适合写后台处 ...

  9. 史上最全“大数据”学习资源集合

    当前,整个互联网正在从IT时代向DT时代演进,大数据技术也正在助力企业和公众敲开DT世界大门.当今"大数据"一词的重点其实已经不仅在于数据规模的定义,它更代表着信息技术发展进入了一 ...

最新文章

  1. js node 打包mac应用_混搭 TypeScript + GraphQL + DI + Decorator 风格写 Node.js 应用
  2. 一线上nagios监控参数
  3. cookie放在请求头_Web安全:你必须知道的“Cookie安全”
  4. matplotlib 散点图_matplotlib画图 绘制散点图案例
  5. 【智能AI】准确率97%的开源肺炎检测模型
  6. 计算机网络解释概念,2017年计算机三级网络技术基本概念与名词解释:计算机网络的基本概念...
  7. Netty从零开始(一)
  8. 简单一招搞定公司牛人 转自 潘文富
  9. oracle patch下载地址
  10. tomcat老启动不起来问题
  11. 在希望的田野上--生物柴油(Biodiesel)光明的未来
  12. OpenStack温哥华峰会Day2日记:大数据带你看峰会热点
  13. C语言丨筛法求素数(质数)
  14. 基于Keras+YOLOv3的口罩佩戴情况检测系统【超详细!!!保姆级教程】
  15. 联想笔记本小新pro16酷睿版评测
  16. 计算机我要学到什么水平?
  17. 搜狗大数据总监、Polarr 联合创始人关于深度学习的分享交流
  18. windows中的出站和入站规则
  19. 教你如何将磁盘中黑色的未分配空间变成绿色的可用空间
  20. [知乎]作为计算机专业学生,最应该学习的课程前五位是什么?

热门文章

  1. 苹果用户可以自修手机了!原厂零件工具都能买,网友:iScrew螺丝刀600多块?...
  2. 量子信息先行者中科院院士郭光灿:“要把中国量子计算机卖到国外”
  3. 开源FPGA硬件模拟游戏机,原汁原味的复古游戏体验带你回童年
  4. 最强通用编译器优化工具!MIT三篇顶会论文打造,准确率是传统方法5倍
  5. 融资2.75亿美元的老牌AR公司,倒了
  6. 3D打印攻破无人车激光雷达,这个奇怪的盒子它看不见
  7. 睡不着的时候,我会......
  8. mac git命令按tab键自动补全
  9. 055——VUE中vue-router之路由参数的随意设置与伪静态链接地址处理:
  10. branch prediction