c++资源大全_essentially c++-程序员宅基地

技术标签: c++  

参考:https://github.com/fffaraz/awesome-cpp

翻译版本可参考: http://blog.jobbole.com/78901/


Standard Libraries

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

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

  • libsequence - A C++ library for representing and analyzing population genetics data. [GPL]
  • SeqAn - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]
  • Vcflib - A C++ library for parsing and manipulating VCF files. [MIT]
  • Wham - Structural variants (SVs) in Genomes by directly applying association tests to BAM files.

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 :star: - 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.
  • BeeCrypt
  • Botan - A crypto library for C++. [BSD-2]
  • Crypto++ - A free C++ class library of cryptographic schemes. [Boost]
  • GnuPG - A complete and free implementation of the OpenPGP standard. [GPL]
  • GnuTLS - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPLv2.1]
  • Libgcrypt
  • libmcrypt
  • LibreSSL - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?]
  • libsodium - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC]
  • LibTomCrypt - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL]
  • Nettle - A low-level cryptographic library. [LGPL]
  • 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

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

  • Boost.Test - Boost Test Library. [Boost]
  • Catch - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD. [Boost]
  • CppUnit - C++ port of JUnit. [LGPLv2]
  • CTest - The CMake test driver program. [BSD]
  • 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 :star: - 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 - 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]
  • 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 :star: - 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 :star: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT]
  • YAJL - 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 :star: - 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]
  • GMTL - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPLv2]
  • 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 :star: - Simple DirectMedia Layer. [zlib]
  • SFML :star: - Simple and Fast Multimedia Library. [zlib]

Networking

  • ACE - An OO Network Programming Toolkit in C++. [?MIT?]
  • Boost.Asio :star: - 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
  • RakNet - A cross platform, open source, C++ networking engine for game programmers. [BSD]
  • 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]
  • Newton Dynamics - An integrated solution for real time simulation of physics environments. [zlib]
  • 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]

Robotics

  • MOOS-IvP - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles.
  • MRPT - Mobile Robot Programming Toolkit. [BSD]
  • PCL - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] website
  • Robotics Library (RL) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD]
  • RobWork - A collection of C++ libraries for simulation and control of robot systems. [Apache2]
  • ROS - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD]

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]
  • gcc-poison - A simple header file for developers to ban unsafe C/C++ functions from applications.
  • 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.

  • AppCode - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform.
  • 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.
  • Irony-mode - A C/C++ minor mode for Emacs powered by libclang.
  • 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 :star: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt.
  • rtags - A c/c++ client/server indexer with for integration with emacs based on clang.
  • Xcode - Developed by Apple.
  • YouCompleteMe - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.

Build Systems

  • Bear - A tool to generate compilation database for clang tooling.
  • Biicode - Simple, file-based dependency manager.
  • CMake - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD]
  • CPM - A C++ Package Manager based on CMake and Git.
  • FASTBuild - High performance, open-source build system supporting highly scalable compilation, caching and network distribution.
  • Ninja - A small build system with a focus on speed.
  • Scons - A software construction tool configured with Python scipt.
  • 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.
  • Premake - A tool configured with lua scipt to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux.

Static Code Analysis

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

Resources

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

API Design

Articles

Fantastic C/C++ related articles.

Books

Fantastic C/C++ related books.

Coding Style

Talks

Videos

Fantastic C/C++ related videos.

Websites

Useful C/C++ related websites.

Weblogs

Useful C/C++ related weblogs.

Other Awesome Projects

Collection of useful codes, snippets, ...

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.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cdsdtt123/article/details/40817649

智能推荐

【Kotlin】Channel简介

Channel 是一个并发安全的阻塞队列,可以通过 send 函数往队列中塞入数据,通过 receive 函数从队列中取出数据。当队列被塞满时,send 函数将被挂起,直到队列有空闲缓存;当队列空闲时,receive 函数将被挂起,直到队列中有新数据存入。Channel 中队列缓存空间的大小需要在创建时指定,如果不指定,缓存空间默认是 0。

ORACLE LINUX 7.9 上安装 Caché数据库_cache数据库下载-程序员宅基地

ORACLE LINUX 7.9 上安装 Caché数据库。该文介绍了在LINUX上安装Caché数据库的步骤,包括下载安装介质和访问链接信息。

Matlab数据处理——数据的保存和读取方法操作_matlab中的 store-程序员宅基地

文章浏览阅读2.3k次。原文链接:https://blog.csdn.net/misayaaaaa/article/details/533964031:dlmwrite()函数保存成txt文件使用方法:dlmwrite('filename', M)使用默认分隔符“,”将矩阵M写入文本文件filename中;dlmwrite('filename', M, 'D')..._matlab中的 store

你的网站还在使用HTTP? 免费升级至HTTPS吧

http升级到https的关键是安装部署ssl证书,本文阐述了从证书申请到启用https的详细过程

关于Kotlin

在数据科学和机器学习领域,Kotlin的强大类型推断能力和函数式编程特性,使得数据处理和算法实现更加简洁和可读。此外,Kotlin还可用于游戏开发,特别是移动游戏开发,以及嵌入式系统的开发。它几乎可以运行在任何Java语言可以运行的地方,但相比Java,Kotlin更加简洁、高效和安全。它不仅可以编译成Java字节码,在Java虚拟机上运行,还可以编译成JavaScript,以便在没有JVM的设备上运行。此外,Kotlin还可以编译成二进制代码,直接运行在机器上,如嵌入式设备或iOS。

同步(Synchronous)和异步(Asynchronous)的理解和区别讲解-程序员宅基地

文章浏览阅读1.6w次,点赞28次,收藏70次。同步(Synchronous)和异步(Asynchronous)同步和异步是什么?怎么理解下呢?同步 :你去商城买东西,你看上了一款手机,能和店家说你一个这款手机,他就去仓库拿货,你得在店里等着,不能离开,这叫做同步。同步“ 就好比:你去外地上学(人生地不熟),突然生活费不够了;此时你决定打电话回家,通知家里转生活费过来,可是当你拨出电话时,对方一直处于待接听状态(即:打不通,联系不上),为了拿到生活费,你就不停的 oncall 、等待,最终可能不能及时要到生活费,导致你今天要做的事都没有完成,而白白

随便推点

DateTimePicker控件进行时间选择与显示_vb.net datetimepicker 怎么选时间-程序员宅基地

文章浏览阅读490次。1.格式化选python基础教程择时间Start_Time.Format = DateTimePickerFormat.Custom; Start_Time.CustomFormat = "yyyy-MM-dd-HH:mm";2.时间c#教程比较大小DateTime t1 = DateTime.Parse(Start_Time.Text.Trim());DateTime t2 = DateTime.Parse(End_Time.Text.Trim());if (DateTime.Compare_vb.net datetimepicker 怎么选时间

C++11:shared_ptr循环引用问题

详细介绍了引用循环出现的场景及为什么会出现引用循环,以及如何解决引用循环,引入了weak的概念。

Spring Boot的热部署工具“AND”Swagger测试工具

指的是在项目无需重启的情况下,只需要刷新页面,即可获得已经修改的样式或功能。要注意该工具一般用于开发环境,在生产环境中最好不要添加这个工具。对于无需重启便可刷新这么方便的工具,在项目中该如何使用:在spring boot 项目中使用工具的方法就是引入相关依赖,热部署工具的依赖如下:

SpringIoc的注入原理_springioc注入原理-程序员宅基地

文章浏览阅读589次。SpringBean的注入原理spring是在配置类需要指定扫描包,然后递归得到下面所有的文件;(springboot默认启动类和兄弟目录下面所有的包文件)包名+文件名=类全限定名;calss.from加载到内存当中,得到字节码(class);判断这个类的脑门上是否有注解(就是类的头顶上),有注解的话,就把这个类先put到Map里面(ResourcesMap和autowiredMap各一..._springioc注入原理

ES6模块化使用方法_如何用es6模块化项目-程序员宅基地

文章浏览阅读334次。目录结构a.js对外导出对象let name = 'j'let age = 18let sex = 'm'// 导出对象export { name, age}// 默认导出export default sexb.js// 导入a.js中导出对象import {name, age} from './a.js'// 导入a.js中默认导出import sex from './a.js'console.log(name, age, sex)index_如何用es6模块化项目

高中教学分析系统数据可视化探索【可视化实战案例】_对高中教学系统进行可视化分析,-程序员宅基地

文章浏览阅读809次。教育行业中大数据分析的主要目的包括改善学生成绩、服务教务设计、优化学生服务等。而学生成绩中有一系列重要的信息往往被我们常规研究所忽视。通过大数据分析和可视化展示,挖掘重要信息,改善 学生服务,对于教学改进意义重大。美国教育部门构建“学习分析系统”,旨在向教育工作者提供了解学生到底是在怎样学习的更好、更好、更精确信息。利用大数据的分析学习能够向教育工作者提供有用的信息,从而帮助其回答众多不易回答的现实问题。_对高中教学系统进行可视化分析,