"MFC Notes" Part5 C + + resources Daquan Chinese version

Source: Internet
Author: User
Tags compact generator gettext gtk imagemagick system log wrapper free ssl

Part5 C + + resources Daquan Chinese version

Reference URL: HTTPS://GITHUB.COM/JOBBOLE/AWESOME-CPP-CN

More resources: https://github.com/jobbole?page=1

Standard library

C + + standard library, including STL containers, algorithms and functions.

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

C + + Compiler list

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

On-line compiler list for C + +

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

List of C + + debuggers

Comparison of Debuggers: Debugger list from Wikipedia
GDB:GNU Debugger
Valgrind: Memory debugging, memory leak detection, performance analysis tools.
Integrated development Environment (IDE)

A list of integrated development environments for C + +

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

List of code analysis tools to improve quality and reduce defects

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

"MFC Notes" Part5 C + + resources Daquan Chinese version

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.