C + + resources compiled by foreign programmers

Source: Internet
Author: User
Tags compact gtk imagemagick posix system log xml parser free ssl value store

Some summary lists of C + + frameworks, libraries, and resources are initiated and maintained by Fffaraz.

The content includes: standard library, Web application framework, artificial intelligence, database, image processing, machine learning, log, code analysis, etc.

Standard library

C + + Standard Library: A collection of classes and functions, written in the core language, is also part of C++iso's own standards.

Standard Template Library: Templates

C Standard library Specification for POSIX Library:posix Systems

ISO C + + standards committee:c++ Standard Committee

Framework

C + + common frameworks and libraries

Apache C + + standard Library: A collection of algorithms, containers, iterators, and other basic components

The Asl:adobe source code library provides peer review and portable C + + source code libraries.

Boost: A collection of a large number of common C + + libraries.

BDE: The development environment from the Bloomberg Information Lab.

Cinder: Open Source Development community with professional quality and creative coding.

Cxxomfort: Lightweight, a library that contains only header files, porting some of the new features of C + + 11 to c++03.

Dlib: A common cross-platform C + + library designed using contractual programming and modern C + + technology.

Eastl:ea-stl Public part

Ffead-cpp: Enterprise Application Development Framework

Folly: Open source C + + library developed and used by Facebook

JUCE: A comprehensive C + + class library for developing cross-platform software

Libphenom: An event framework for building high-performance and highly scalable systems.

Libsourcey: c++11 evented IO for real-time video streaming and high-performance network applications

Multi-platform Tool library for LIBU:C language writing

The design of the Loki:c++ library includes common design patterns and the implementation of idioms.

Mili: Small C + + library with header files only

Openframeworks: Development of C + + toolkit for creative coding.

Qt: Cross-platform application and user interface framework

Reason: A cross-platform framework that makes it easier for developers to use Java. NET and Python, while also satisfying their needs for C + + performance and benefits.

ROOT: A range of object-oriented frameworks with all the capabilities to process and analyze large amounts of data very efficiently for use by the European Atomic Energy Research Institute.

STLport: A representative version of STL

STXXL: Standard Template Library for additional large datasets.

ultimate++: C + + cross-platform rapid application Development Framework

Windows Template Library: C + + libraries for developing Windows applications and UI components

Yomm11:c++11 's Open multi-methods.

Artificial intelligence

Btsk: Game Behavior Tree Launcher tool

Evolving Objects: A template-based, ANSI C + + Evolutionary computing library that can help you write your own random optimization algorithm very quickly.

The NEU:C++11 framework, a set of programming languages, is used to create multi-purpose software systems for AI applications.

Asynchronous event Loops

Boost.asio: A cross-platform C + + library for network and underlying I/O programming.

Libev: Full-Featured, high-performance time-cycle, slightly emulated libevent, but no longer as limited as libevent, but also fixed some of its bugs.

Libevent: Event Notification Library

LIBUV: Cross-platform asynchronous I/O.

Internet

Ace:c++ Object-oriented network into toolkit

Boost.asio: Cross-platform C + + library for network and bottom-level I/O programming

Casablanca:c++ REST SDK

Cpp-netlib: A collection of open source libraries for advanced network programming

Asynchronous networks for Dyad.c:c languages

Libcurl: Multi-protocol File transfer Library

Mongoose: A very lightweight web server

Muduo: C + + non-blocking network library for Linux multi-threaded servers

Net_skeleton:c/c++ TCP client/server library

NOPE.C: A C-based, ultra-lightweight software platform for scalable server-side and network applications. For C programmers, you can consider node. js

The Onion:c language HTTP Server library is designed to be lightweight and easy to use.

POCO: A C + + class library for building networks and Internet-based applications that can run on desktops, servers, mobile and embedded systems.

Raknet: A cross-platform, open-source C + + network engine for game developers.

Tuf o: Asynchronous Web framework built on C + + for QT.

websocket++: WebSocket client/server library based on C++/boost Aiso

ZeroMQ: High-speed, modular asynchronous communication library

Physics

Dynamics simulation Engine

Box2d:2d's game physics engine.

Bullet:3d's game physics engine.

Chipmunk: Fast, lightweight 2D game Physics Library

Liquidfun:2d's game physics engine

ODE: Open Dynamics Engine-open source, high performance library, simulating rigid body dynamics.

Ofxbox2d:box2d Open source Framework wrapper.

Simbody: A high-performance C + + multibody Dynamics/physics library that simulates joint biomechanics and mechanical systems like vehicles, robots and human bones.

Robot Science

MOOS-IVP: A set of open-source C + + modules that provide autonomy for robotic platforms, especially autonomous marine vehicles.

MRPT: Mobile Robot Programming Toolkit

PCL: Point Cloud Library is a standalone, large-scale open project for 2d/3d image and point cloud processing.

Robotics Library (RL): a standalone C + + library that includes robot dynamics, motion planning and control.

Robwork: A set of C + + libraries for simulation and control of robotic systems.

ROS: A robotic operating system that provides libraries and tools to help software developers create robotic applications.

Scientific calculations

FFTW: A C language library that calculates DFT using one-dimensional or multidimensional calculations.

GSL:GNU Science Library.

Script

Chaiscript: An easy-to-use embedded scripting language for C + +.

Lua: A small, fast scripting engine for configuration files and basic application scripting.

Luacxx: C + + API for creating LUA bindings

SWIG: a wrapper/Interface builder that allows you to link your C + + code to JAVASCRIPT,PERL,PHP,PYTHON,TCL and Ruby

V7: embedded JavaScript engine.

V8: Google's fast JavaScript engine can be embedded in any C + + application.

Serialization of

Cap ' n Proto: Fast data Interchange Format and RPC system.

CEREAL:C++11 Serialization Library

Flatbuffers: Memory-efficient Serialization library

Messagepack:c/c++ 's efficient binary serialization library, such as JSON

PROTOBUF: Protocol buffering, Google's data Interchange format.

PROTOBUF-C: Implementation of protocol Buffering for C language

Simplebinaryencoding: Encoding and decoding of application information in binary format for low-latency applications.

Thrift: Efficient cross-language ipc/rpc for c++,java,python,php,c# and many other languages, originally developed by Twitter.

Video

LIBVPX:VP8/VP9 encoding and decoding SDK

FFmpeg: A complete, cross-platform solution for recording, converting video and audio streams.

LIBDE265: The implementation of an open h.265 video codec.

OpenH264: Open source h.364 codec.

Theora: Free open source video compression format.

Virtual machines

Interesting VMs in Carpvm:c, let's take a look at this.

Micropython: Designed to realize python3.x on single chip microcomputer

TINYVM: A small, fast, lightweight virtual machine written in pure ANSI C.

Web application Framework

Civetweb: Provides an easy-to-use, powerful, C + + embedded Web server with optional CGI,SSL and LUA support.

CPPCMS: Free high-performance Web development framework (not CMS).

Crow: A C + + mini-Web framework (inspired by Python Flask)

Kore: An ultra-fast and flexible Web server/framework for Web applications developed using the C language.

Libonion: A lightweight library that helps you create a Web server using the C programming language.

Qdjango: The QT Library-based web framework, written in C + +, tries to emulate the Django API, so this name is used.

Wt: Developing a C + + library for Web applications.

Xml

XML is a garbage, XML parsing is annoying, it is a disaster for the computer. There is no reason for such a bad thing to exist at all. --linus Torvalds

EXPAT: XML parsing library written in C language

Libxml2:gnome XML C Parser and Toolkit

libxml++: XML parser for C + +

Pugixml: A lightweight, simple and fast XML parser for C + + that supports XPath.

Rapidxml: Try to create the fastest XML parser, while maintaining ease of use, portability, and reasonable compatibility.

TinyXML: A simple, small c++xml parser that can be easily integrated into other projects.

TinyXML2: A simple and fast C++CML parser that can be easily integrated into other projects.

Tinyxml++:tinyxml is a brand new interface that uses many of the many advantages of C + +, templates, exceptions and better exception handling.

Xerces-c++: XML validation parser written with a subset of portable C + +.

Multi-item Mixed

Some useful libraries or tools, but not suitable for the above categories, or not yet categorized.

Small, secure and fast format library for C + + format:c++

Casacore: A series of C + + core libraries derived from aips++

Cxx-prettyprint: Print library for C + + containers

Dynapdf: Easy-to-use PDF generation Library

Gcc-poison: A simple header file that helps developers to disallow unsafe C + + functions in an application.

Googlemock: Writing and using libraries for C + + impersonation classes

HTTP request/Response resolver for HTTP Parser:c

Libcpuid: Small C library for x86 CPU detection box feature extraction

Libevil: License Manager

LIBUSB: Universal USB library that allows mobile access to USB devices

PCRE: Regular expression C library, inspired by the functionality of the Perl Express expression.

Inter-process communication framework for Remote call framework:c++.

Scintilla: Open Source code-editing controls

Serial Communication library:c++ Language programming cross-platform, serial port library.

Sds:c's simple dynamic string library

SLDR: Ultra-Lightweight DNS resolver

SLRE: Ultra-lightweight regular expression library

Stage: Mobile robot simulator

Vartypes:c++/qt4 feature-rich, object-oriented management variable framework.

Zbar: ' Barcode scanner ' library, you can scan photos, pictures and barcodes in the video stream and return the results.

Cppverbalexpressions: Easy-to-use C + + regular expressions

Qtverbalexpressions: QT library based on C + + verbalexpressions Library

Php-cpp: Using C + + to build a library of PHP extensions

Another string library of Better String:c, which is richer, but has no buffer overflow problem, also contains a C + + wrapper.

Software

Software for creating a development environment

Compiler

Clang: Developed by Apple Inc.

Gcc:gnu Compiler Collection

Intel C + + Compiler: Developed by Intel Corporation

LLVM: A collection of modular and reusable compilers and toolchain technologies

Microsoft Visual C + +: MSVC, developed by Microsoft Corporation

Open watcom:watcom,c,c++ and Fortran cross compilers and tools

TCC: Lightweight C-language compiler

Online compiler

Codepad: Online compiler/interpreter, a simple collaboration tool

Codetwist: A simple online compiler/interpreter that you can paste in c,c++ or Java code, execute online and view the results

Coliru: Online compiler/shell, support various C + + compilers

Compiler Explorer: Interactive compiler for assembly output

Compiling and executing C + + programs online on Compileonline:linux

Ideone: An online compiler and debugging tool that allows you to compile and execute your source code online, supporting more than 60 programming languages.

Debugger

Comparison of Debuggers: Debugger list from Wikipedia

GDB:GNU Debugger

Valgrind: Memory debugging, memory leak detection, performance analysis tools.

Integrated development Environment (IDE)

Appcode: Building an integrated development environment for Objective-c,c,c++,java and Java development on the JetBrains ' IntelliJ idea Platform

Clion: Integrated development environment for cross-platform C/D + + from JetBrains

Code::Blocks: Free c,c++ and FORTRAN integrated development environment

CodeLite: Another cross-platform, free, C + + integrated development environment

Dev-c++: Portable C/C++/C++11 integrated development environment

Eclipse CDT: Full-featured C and C + + integrated development environment based on the Eclipse platform

Geany: A lightweight, fast, cross-platform, integrated development environment.

IBM VisualAge: Home computer integrated development environment from IBM.

Irony-mode: A/C + + micro-mode for Emacs driven by Libclang

KDevelop: Free open source integrated development environment

Microsoft Visual Studio: An integrated development environment from Microsoft

NetBeans: An integrated development environment primarily for Java development, as well as other languages, especially php,c/c++ and HTML5.

QT Creator: A cross-platform C++,javascript and QML integrated development environment, also part of the QT SDK.

Rtags:c/c++ Client server index for integration with clang-based Emacs

Xcode: Developed by Apple Inc.

Youcompleteme: An engine for vim that quickly blurs a search and makes code completion based on the code you're knocking on.

Build the System

Bear: Tool for generating a compiled database for the Clang tool

Biicode: Simple file-based dependency manager.

CMake: Free, cross-platform, open source software is used to manage the process of building software using an independent compilation method.

CPM: C + + Package Manager based on CMake and Git

Fastbuild: High-performance, open-source build system that supports highly scalable compilation, buffering, and network distribution.

Ninja: A small build system focused on speed

SCons: Software build tool configured with Python Scipt

Tundra: High-performance code-building systems, even for very large software projects, provide the best incremental build times.

Tup: File-based build system for background monitoring of changing files.

Static code Analysis

Cppcheck: Static C + + code analysis tool

Include-what-you-use: Tools that use clang for code analysis can include in C and C + + files.

Oclint: Static source code analysis tool for c,c++ and objective-c to improve quality and reduce defects.

Clang Static Analyzer: Source Code analysis tool for finding bugs in c,c++ and objective-c programs

List of tools for static code analysis: A list of static Codes Analyzer tools from Wikipedia

Audio

Audio, sound, music, digital music library

FMOD: Easy-to-use game authoring tool for cross-platform audio engines and audio content.

Maximilian:c++ Audio and music digital signal processing library

OpenAL: Open source Audio Library-cross-platform audio API

Opus: A fully open, royalty-free, highly versatile audio codec

Speex: Free codec for opus abandonment

Tonic:c++ easy-to-use and efficient audio synthesis

Vorbis:ogg Vorbis is a fully open, non-proprietary, royalty-free, universal compressed audio format.

Ecology

Biological information, genomics and biotechnology

Libsequence: C + + library for representing and analyzing population genetics data.

Seqan: Algorithms and data structures that focus on biological data sequence analysis.

Vcflib: C + + library for parsing and processing VCF files

WHAM: The genetic structure variation that applies the Lenovo test directly to the BAM file.

Compression

Compression and archive libraries

BZIP2: A completely free, free patent and high-quality data compression

Doboz: A compact library that can be decompressed quickly

PHYSICSFS: A library that provides abstract access to a variety of archives, primarily for video games, and is inspired partly by the Quake3 file subsystem.

Karchive: A library for creating, reading, and manipulating file archives (such as zip and tar), which provides transparent compression and decompression of data through a series of subclasses of Qiodevice, using gzip format.

LZ4: A very fast compression algorithm

Lzham: Lossless compression database, compression ratio close to LZMA, but decompression is much faster.

lzma:7z format default and general compression methods.

Lzmat: And its fast real-time lossless data compression Library

Miniz: Single C source file, condensed/expanded compression library, using zlib compatible Api,zip archive read/write, PNG write mode.

Minizip:zlib latest bug fixes, supports PKWare disk spanning, AES encryption and IO buffering.

Snappy: Fast compression and decompression

ZLib: A very compact data stream compression Library

Zziplib: Provides read access to the ZIP archive.

Concurrency of

Concurrent execution and multithreading

Boost.compute: C++gpu Compute Library for OpenCL

Bolt: C + + Template Library optimized for GPU

C++react: A reactive programming library for C++11

Intel Tbb:intel Threading Component Block

LIBCLSPH: OpenCL-based GPU-accelerated SPH Fluid Simulation Library

OpenCL: Open standards for heterogeneous systems with parallel programming

Openmp:openmp API

Thrust: Parallel algorithm library similar to the C + + Standard Template Library

HPX: Universal C + + runtime system for parallel and distributed applications of any size

VEXCL: C + + vector expression Template Library for Opencl/cuda.

Container

C + + B-tree: A template Library for the command memory container based on the B-tree data structure

Implementation of open addressing hash table algorithm in hashmaps:c++

Cryptographic Science

Bcrypt: A cross-platform file encryption tool, encrypted files can be ported to all supported operating systems and processors.

Beecrypt:

Botan:c++ Encryption Library

crypto++: a free C + + library for encryption schemes

Complete implementation of the GNUPG:OPENPGP standard

GNUTLS: Secure Communication Library for SSL,TLS and DTLS protocols

Libgcrypt

LIBRESSL: Free SSL/TLS protocol, which belongs to a branch of OpenSSL

Libtomcrypt: A very comprehensive, modular, portable encryption tool

Libsodium: NACI-based encryption library, opinionated, easy to use

Nettle the underlying encryption library

OpenSSL: A powerful, commercial, fully functional, open source encryption library.

Tiny AES128 in C: a small, portable implementation of the AES128ESB encryption algorithm implemented with C

Database

databases, SQL Server, ODBC drivers and tools

Hiberlite: C + + Object-relational mapping for Sqlite3

Hiredis: A very simple C client library for the Redis database

LevelDB: Fast Key-value repository

LMDB: An embedded key-value store that conforms to the four basic elements of a database

mysql++: C + + wrapper that encapsulates the MySQL API

ROCKSDB: Fast storage of embedded key values from Facebook

SQLite: A fully embedded, full-featured relational database with only hundreds of KB that can be properly included in your project.

Debugging

Debug libraries, memory and resource leak detection, unit testing

Boost.Test:Boost Test Library

Catch: A very stylish, C + + native framework that contains only header files for unit testing, test-driven development, and behavior-driven development.

CppUnit: A C + + test framework ported by JUnit

Ctest:cmake test Driver

Googletest: Google C + + testing Framework

IG-DEBUGHEAP: Multi-platform debug heap for tracking memory errors

Libtap: Writing tests in C language

memtrack-for C + + tracking memory allocation

microprofile-Cross-platform Network attempt analyzer

Minunit: Using a C-written mini-unit test framework with only two macros

Remotery: A single C file parser for Web views

unittest++: Lightweight C + + unit Testing Framework

Game engine

Cocos2d-x: A cross-platform framework for building 2D games, interactive books, demos, and other graphical applications.

Grit: Community project for building a free game engine to implement the open world 3D game.

Open source high-performance real-time #d engine written in irrlicht:c++ language

Polycode:c++ implements an open-source framework for creating games (bundled with Lua).

Graphical user interface

Cegui: A flexible cross-platform GUI library

FLTK: Fast, lightweight cross-platform C++gui Toolkit.

GTK +: Cross-platform toolkit for creating a graphical user interface

GTKMM: The official C + + interface for the popular GUI library GTK +.

Imgui: Immediate-mode graphical user interface with minimal dependencies

Librocket:librocket is a C + + Html/css game interface Middleware

Mygui: Fast, flexible, simple GUI

Ncurses: End user Interface

Qcustomplot: QT Drawing controls with no more dependencies

QWT: QT controls for user and technology applications

Qwtplot3d: A feature-rich QT/OPENGL-based C + + programming library that essentially provides a bunch of 3D controls

Otterui:otterui is a user interface development solution for embedded systems and interactive entertainment software

Pdcurses Common graphics function library with source code and precompiled Library

WxWidgets C + + library, which allows developers to create applications for widows, Mac OS X,linux and other platforms using a code base

Graphics

BGFX: Cross-platform rendering library

Cairo: 2D graphics library with support for multiple output devices

Horde3d a small 3D rendering and animation engine

Magnum C++11 and OpenGL 2d/3d graphics engine

Ogre 3D is a scene-oriented, real-time, flexible 3D rendering engine (not a game engine) written in C + +

OpenSceneGraph Open source 3D Graphics toolkit with high performance

PANDA3D is a framework for 3D rendering and game development, written in Python and C + +.

Skia Complete 2D Graphics library for drawing text, graphics, and images

Urho3d a cross-platform rendering and game engine.

Image processing

Boost.gil: Universal Image Library

CIMG: Small open-source C + + toolkit for image processing

Cximage: For loading, saving, displaying and converting the image processing and conversion library, the image formats that can be processed include BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, j2k.

Freeimage: Open Source Library that supports the common image formats and other formats required for multimedia applications today.

Gdcm:grassroots DICOM Library

ITK: A cross-platform open source image analysis System

C + + interface for Magick++:imagemagick programs

C + + interface for Magickwnd:imagemagick programs

OpenCV: Open source Computer Vision Class Library

TESSERACT-OCR:OCR engine

Vigra: General C + + Computer Vision library for image analysis

VTK: Open source Free software system for 3D computer graphics, image processing and visualization.

Internationalization

Gettext:gnu ' GetText '

IBM ICU: Provides Unicode and globalization-supported C, C + +, and Java libraries

Libiconv: Encoding conversion library for different character encodings

Jason

Jason Parsing generator for frozen:c/c++

Jansson: C-Language library for encoding and decoding and processing Jason data

Build and iterate Bson data in jbson:c++14, and libraries for JSON documents

Jeayeson: A very robust C + + JSON library that contains only header files

json++: C + + JSON parser

Json-parser: JSON parser written in portable ANSI C with very little memory

Json11: A mini-c++11 JSON library

Jute: A very simple C + + JSON parser

JSON parsing and print libraries in the Ibjson:c language are easy to integrate with any model.

Libjson: A lightweight JSON library

JSON parsing serialization in Picojson:c++, containing only header files

Qt-json: A simple class for parsing between JSON data and qvariant hierarchies

Qjson: Mapping JSON data to a QT-based library of Qvariant objects

RapidJSON: Fast JSON parsing generator for C + +, with two flavors of sax and Dom APIs

Fast Stream JSON parsing library in YAJL:C language

Log

Boost.Log: Design is very modular and scalable

The Easyloggingpp:c++ log library contains only a single header file.

Log4cpp: A series of C + + class libraries, flexible add log to file, System log, IDSA and other places.

Templog: Lightweight C + + library, you can add logs to your C + + application

Machine learning

Caffe: A fast neural network framework

CCV: A modern computer vision library with C language as its core

Mlpack: Extensible C + + machine learning Library

OpenCV: Open Source computer Vision Library

Recommender: The C language library for product recommendations/recommendations using collaborative filtering.

Shogun:shogun Machine learning Tools

SOFIA-ML: Fast incremental algorithm suite for machine learning

Mathematical

Armadillo: A high-quality C + + linear algebra library with a good balance of speed and ease of use. The syntax is similar to MATLAB

Blaze: High-performance C + + math library for dense and sparse algorithms.

Ceres-solver: C + + library from Google, used to model and solve large complex nonlinear least squares problems.

Cgal: Efficient, reliable collection of collection algorithms

CML: Free C + + math library for games and graphics

Eigen: Advanced C + + Template header file library, including linear algebra, matrices, vector manipulation, numerical resolution and other related algorithms.

GMTL: The mathematical Graphics Template Library is a broad set of tools for implementing basic graphics.

GMP: Used for high-precision computing of A/C + + library, processing signed integers, rational numbers and floating-point numbers.

Multimedia

GStreamer: Building a library of media processing component graphics

LIVE555 Streaming Media: Multimedia streaming library using open standard protocol (RTP/RTCP, RTSP, SIP)

LIBVLC:LIBVLC (VLC SDK) Media framework

Qtav: A multimedia playback framework based on QT and ffmpeg that can help you easily write a player

SDL: Simple, direct-control media layer

SFML: Fast, simple multimedia library

C + + resources compiled by foreign programmers

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.