开源 C++ 库列表

  • 前言
  • 包管理器
    • 音频:
      • 音频指纹
      • 格式
      • 标签
      • CD
    • 性能测试:
    • 通信:
    • 并发:
    • 配置:
      • XML
      • JSON
      • YAML
      • TOML
      • HOCON
      • CSS
      • 容器
    • 密码学:
    • 数据库:
    • 嵌入语言绑定:
    • 嵌入式/实时:
    • 文件元数据:
    • 金融计算:
    • 游戏引擎架构:
    • 通用多媒体:
    • 通用:
    • GPS:
    • 图形用户界面:
      • CopperSpice
      • GTK+
      • Qt
    • 图形:
    • 图像:
      • 打点
      • 格式
    • 3D 图形:
    • 图像处理:
    • 国际化:
    • 记录:
    • 数学:
      • 数值计算
      • 线性代数
      • 优化
      • 图论
    • 数的类库
      • 人工智能
      • 计算几何
      • 自动化理论
    • 元编程:
    • PDF:
    • 物理与模拟:
    • 序列化:
      • 二进制序列化
    • 排序:
    • 终端:
    • 测试:
    • 文本:
      • 格式化
      • 分析
      • 搜索
      • 模板引擎
    • 版本控制:
    • 视频:
    • Web:

前言

开源 C++ 库的比较列表,使得人们在需要特定功能的实现时,不必浪费时间在网上( DuckDuckGo 、谷歌、必应等)搜索。
若知道可能对其他人有用的库,请在此添加到它的链接。能包含进来的库没有限制,但是必须能便捷地下载库的源码。

包管理器

Package manager                      Descriptionbuild2                           一个开源的 (MIT)、跨平台的构建工具链,旨在为开发和打包 C/C++ 项目时提供如 Rust Cargo 一样的便利性。 cget                          Cmake 包检索工具,可用于下载并安装 Cmake 包。 cmodule                            非侵入式 CMake 依赖管理。 conan                          去中心化、开源 (MIT) 的 C/C++ 包管理器。 CPM.cmake                       一段可以为 CMake 加入依赖管理功能的 CMake 脚本。它是作为 CMake 的 FetchContent 模块的一个简单包装构建的。该模块加入了版本控制、缓存、简单 API 等功能。 hunter                          一个 CMake 驱动的跨平台包管理器,服务于 C/C++ 项目。 spack                          一个超级计算机、Linux、macOS 平台的包管理器。它使得安装科学软件变得简单。非绑定于某一特定语言。 teaport                           一个受 cocoapods 启发的依赖管理器。 vcpkg                           一个 Windows、Linux、macOS 平台的 C++ 包管理器。

音频:

 库名              简述                                          协议              配置手段Aquila              Aquila 是一个开源、跨平台的 C++11 DSP 库。      MIT 许可          CMake Essentia          开源库,音频和音乐分析、                     Affero GPLv3描述和合成工具 (MIR) (源码)  FFTW                离散傅里叶变换 (DFT)                           GPL-2.0 CMake计算库 (SSE/SSE2/AVX/Altivec/ARM Neon)。(源码)  KFR                  快速、现代、C++17、开源并且跨平台的                GPL-2.0             CMakeDSP/DFT 框架。支持音频重采样、 FIR/IIR 滤波器、 二阶滤波器,(SSE, AVX, AVX-512, ARM NEON)。 (源码)  soundtouch         SoundTouch 是一个开源、跨平台的音频处理库,      LGPL-2.1            Makefile用于更改音频流或音频文件的速度、音调和播放速率。 (源码)

音频指纹

     库名              简述                                      协议                  配置手段chromaprint         (源码)                                        MIT 许可, LGPL 2.1        CMake libmusicbrainz        (源码)                                        LGPL-2.1                CMake libofa                MusicIP 开源音频指纹库                         APL                     makefile

格式

     库名              简述                                      协议                  配置手段audiofile                                                       LGPL-2.1                makefile flac                                                           Open Source, BSD 许可, GPL 许可  libsndfile                                                     LGPL v2.0 or v3.0

标签

     库名              简述                                      协议                  配置手段id3lib                                                          LGPL v2  taglib             (源码)                                        LGPL 和 MPL v1.1

CD

     库名              简述                                      协议                  配置手段libkcompactdisc     CD 接口库                                  GPL v2.0                CMake

性能测试:

 库名              简述                                      协议                  配置手段benchmark                                                       Apache2.0 许可            CMake Celero                                                            Apache 许可           CMake gperftools            “谷歌性能工具”包含高性能、多线程的 malloc   BSD 3-Clause "New" or   configure 实现加上评测堆分配和 CPU 利用的工具。     "Revised" Licenseplf::nanotimer     用于性能评测的最低开销、跨平台的简单定时器类。 zlib 许可

通信:

 库名              简述                                          协议                  配置手段ACE                 异步网络、多路分离、报文发送   Apache Thrift      Apache Thrift 软件框架,用于规模可变的跨语言服务开发,将软件栈与代码生成引擎结合,构建有效而无缝地在 C++ 、 Java 、 Python 、PHP 、 Ruby 、 Erlang 、 Perl 、 Haskell 、C# 、 Cocoa 、 JavaScript 、 Node.js 、Smalltalk 、 Ocaml 、 Delphi 及其他语言间工作的服务。   Boost.Asio           异步及同步网络、定时器、序列 I/O              BSL-1.0  Boost.Beast            建立于 Boost.Asio 顶上的 HTTP 及 WebSocket 库   BSL-1.0  Breep              基于事件、高层、点对点库,允许用户直接发送        European Union Public   CMake和接收对象。                                     License 1.1C++ REST SDK     异步 HTTP 客户端及监听器、异步 Stream 、     MIT 许可              CMakeURI 、 JSON  cpp-netlib         cpp-netlib : C++ 网络库                         BSL-1.0                 CMake cpr                   现代 C++ HTTP 请求库                             MIT 许可              CMake Crow                                                              BSD-3-Clause            CMake curlpp                CURL 库的 C++ 包装   DumaisLib                                                          MIT 许可              Makefile EasyHttp           跨平台的 HTTP 客户端库,专注于可用性和速度, MIT 许可              CMake 支持 http 响应缓存及更多 eCAL              高性能进程间通信                                Apache2.0 许可            CMake fineftp-server                                                        MIT 许可              CMake gRPCgsoap             XML 数据绑定、快速 WSDL/SOAP/XML 网络服务、WS 安全、 JSON/XML-RPC RESTful 服务的 C/C++ 开发工具套   HTTPP              简单、生产就绪的构建在 Boost 上的 HTTP           BSD 2-Clause            CMake, Makefile服务器,及构建在 libcurl 上的客户端。           "Simplified" LicenseIXWebSocket         无依赖的开源 WebSocket + HTTP 库,支持             BSD 3-Clause "New"      CMake, MakefileSSL 和逐条消息 deflate 的 WebSocket 扩展。    or "Revised" License  KCP                   快速可靠的 ARQ 协议,帮助应用减少网络延迟。     MIT 许可              CMake libashttp         异步 HTTP 客户端库                                GNU Lesser General   Public License v3.0libnavajo                                                           CeCILL-C FREE SOFTWARE  CMakeLICENSE AGREEMENTlibtins               网络包装制作及嗅探库   nanomsgnetif                                                               BSD 3-Clause "New"      CMake or "Revised" Licensenghttp2               HTTP/2 C 库及工具(服务器、客户端、代理         MIT 许可              CMake, configure和评测工具)  ngrest               快速而简易的利用 JSON 的 RESTful 网络服务框架  Apache2.0 许可            CMake nngomniORB                最快速、完整而可移植的 CORBA ORB 在 C++ 中的实现   OpenDDS              DDS 实现   Paho MQTT                                                                                  CMake PcapPlusPlus      多平台 C++ 网络嗅探和包装分析及制作框架   POCO               网络:加密、 HTTP ; ZIP 文件   rest_rpc           现代、简单、易用的 rpc 框架                                            CMake restbed               设计以嵌入到宽范围的应用中的 C++ 为框架。         许可协议                CMake restc-cpp         将痛苦从自 C++ 访问 JSON API 带走。           MIT 许可              CMakeHTTP 客户端,原生 C++ 类到/自 JSON 的序列化,通过 boost::asio coroutines 携程的异步 IO 。 C++14 。   restful_mapper     于 C++ 中消费 RESTful JSON API 的 ORM                                    CMake, Makefile seastar             用C++11实现的高性能异步编程框架。                 Apache2.0 许可            CMake, etc. Silicon             快速而稳健的 Web APIs                             MIT 许可              CMake sockpp                简单的现代 C++ 套接库                           BSD 3-Clause "New"      CMake or "Revised" LicenseSimple C++            在你的 C++ 应用中创建 REST API 的非常简单REST library        且自成文档的库stream-client        轻量、唯头文件的、基于 Boost 的客户端          Apache2.0 许可            CMakesocket/connector/socket pool/resolver  tacopie             C++11 TCP 库                                     MIT 许可              CMake TAO                   CORBA   taox11              基于 C++11 的 CORBA 实现                         MIT 许可  Unicomm             异步网络、高层 TCP 交互框架   uvw                  现代 C++ 书写的 libuv                            MIT 许可              CMake wvstreams                                                         GPL 许可  zeromq              快速消息队列

并发:

 库名              简述                                          协议                  配置手段BlockingCollection  C++11 线程安全汇集类,模仿 .Net BlockingCollection。Boost.Atomic                                                        BSL-1.0  Boost.Compute      (非官方) OpenCL 的仿 STL 算法及数据结构       BSL-1.0  Boost.Context                                                      BSL-1.0  Boost.Interprocess                                                 BSL-1.0  Boost.Lockfree                                                     BSL-1.0  Boost.MPI                                                          BSL-1.0  Boost.Thread                                                       BSL-1.0  Cpp-Taskflow       带任务依赖的快速 C++ 并行编程   hipSYCL                                                             BSD-2-Clause License    CMake HPX                   任何规模的并行和分布式应用的通用C++ 运行时系统   Intel TBBKOKKOS             C++ 中的编程模型,用于书写高性能的便携 HPC 应用   libopenmpilibsimdppMutexGear                                                          The MutexGear           configure, MSVC Library LicenseOpenMPRaftLib                类似并发行动者的 C++ 流   SObjectizer            通过行动者和出版订阅模型,简化开发并发和事件驱动应用的 C++ 中的小型框架。   subprocessTaskflowThrust               CUDA 的仿 STL 算法及数据结构   VexCL             OpenCL 和 CUDA 的 C++ 表达式模板库   ViennaCL           带 OpenMP 、 CUDA 及 OpenCL 后端的线性代数及算法   Xenium

配置:

 库名              简述                                          协议                  配置手段Boost.Program_options                                               BSL-1.0  gconfmmlibconfiglibconfini         INI 分析器

XML

     库名              简述                                          协议                  配置手段ai-xmlGPDSgSOAP             XML 数据绑定   libxml++pugixmltinyxmltinyxml2           另一 TinyXML ,建设中。   Xerces

JSON

     库名              简述                                          协议                  配置手段ArduinoJson         ArduinoJson   CAJUNjansson              Jansson 是编码、解码及操纵 JSON 数据的 C 库。   jeayeson          非常健全的(唯头文件) C++14 JSON 库   jios               JSON 输入输出流 (JSON Input Output Streams)  MIT 许可              CMake JOSTJSON Voorhees     C++ 的杀手 JSON   json             Niels Lohmann JSON   JSON++json-cppjson11               json11 是 C++11 的轻量 JSON 库,提供 JSON 分析及序列化。   JsonBoxjsoncons          JSON 与类 JSON 数据结构的唯头文件库,含 JSON Pointer 、 JSON Patch 、 JSONPath 、 CSV 、 MessagePack 、 CBOR 、 BSON 、 UBJSON。   jsoncppjsonme--libjsonminijson          C++ 无 DOM 且免分配的 JSON 分析及序列化   nosjobqjsonrapidjsonsimdjson          每秒解析 GB 级别的 JSON   struct_mappingThorsSerializer        JSON/YAML Input Output Streams                  MIT 许可              Makefile ujson              µjson 是小型的 C++11、UTF-8 JSON 库   zoolib

YAML

     库名              简述                                          协议                  配置手段yaml-cpp

TOML

     库名              简述                                          协议                  配置手段toml++toml11                基于 C++11 的 TOML 解析库

HOCON

     库名              简述                                          协议                  配置手段cpp-hocon           Pupplet 开发的 HOCON 格式的 C++ 实现。

CSS

     库名              简述                                          协议                  配置手段mycss               CSS 解析器

容器

     库名              简述                                          协议                  配置手段Boost.Bimap                                                         BSL-1.0  Boost.Container                                                        BSL-1.0  Boost.Fusion                                                       BSL-1.0  Boost.Heap                                                         BSL-1.0  Boost.Pointer Container                                                BSL-1.0  Boost.Tuple                                                            BSL-1.0  Boost.Variant                                                      BSL-1.0  cpp-btree          btree_map 、 btree_set 、 btree_multimap 、btree_multiset 。   DataFrame            C++ DataFrame —— 现代 C++ 中使用原生类型、连续内存存储,且无虚函数的 R 与 Pandas 数据框架。   eggs::variant       Eggs.Variant 是 C++11/14 的泛型、线程安全、有区别的联合体。值得注意的是它有很好的 constexpr 支持。   Frozen             constexpr 完美基于哈希的冻结集合与映射( Apache 2.0 )。   Immer                                                               Boost License           CMake plf::colony           无序的“类背包”容器,在高度修改场景中性能优于 std:: 容器,同时维护指向未被擦除元素的合法指针,无关乎插入或擦除。   plf::list           std::list 实现,为缓存友好牺牲范围切割,导致更快的插入、擦除和迭代。   plf::stack          std::stack 容器适配器的随意访问替换容器,在栈环境中有优于 std::vector 和 std::deque 的性能。   ring_span         Guy Davidson 与 Arthur O'Dwyer 的 ring_span ——即环状缓冲区视图的简化实现。   strict_variant     快速而决不空的 variant ,目标 C++11 。阻止许多不想要的隐式转换。   TdhListsYgg                   高性能容器和数据结构,例如红黑树、区间数和区间映射的侵入式 C++11 实现。

密码学:

 库名              简述                                          协议                  配置手段Botancrypto++gnutlsopensslTomCrypt

数据库:

 库名              简述                                          协议                  配置手段redis-plus-plus     用C++ 11编写的Redis客户端, 支持Redis Sentinel,Redis Cluster,管道,事务,发布订阅,连接池以及类似于STL的接口   cpp-redis         C++11 轻量的 Redis 客户端:异步、线程安全、无依赖、管道化、多平台。   OTLDTLlibpqxxlmdb++               LMDB 嵌入式 B+ 树数据库的 C++11 包装。   mongocxx          MongoDB 的 C++11 驱动库   mysql++ODB - C++ Object-Relational Mapping (ORM)Pgfe - PostGres   现代 C++ 客户端 API 到 PostgreSQL   FrontEndQUINCE: QUeries IN C++ Expressions (ORM+EDSL)QxOrm - C++ Qt Object-Relational Mapping (ORM)SOCIsqlpp11SQLAPI++EasyQtSql           轻量唯头文件 C++11 库,用 QtSql 快速便捷地进行 SQL 查询   LevelDB              谷歌开发的、能够处理十亿级别规模 Key-Value 型数据持久性存储的C++ 程序库。

嵌入语言绑定:

 库名              简述                                          协议                  配置手段ChaiScriptExprTkluasol2AngelScript          类似 C++ 的脚本语言。   mozjsmuparserPythonQtScriptCaller       允许程序员调用 Ruby 脚本的唯头文件库。   v8pp               将 C++ 函数和类绑定到 V8 JavaScript引擎中。

嵌入式/实时:

 库名              简述                                          协议                  配置手段QP/C++              RTOS 内核,双重 GPL   ETL - Embedded      C++03 ,为少资源平台裁剪的可移植模板库Template Librarydistortos          微控制器的面向对象 C++ RTOS   µcuREST                微控制器的 C++11 REST/JSON 服务器框架

文件元数据:

 库名              简述                                          协议                  配置手段libkexiv2exiv2exempirarian

金融计算:

 库名              简述                                          协议                  配置手段QuantLib - Quantitative finance libraryDataFrame            C++ DataFrame —— 现代 C++ 中使用原生类型、连续内存存储,且无虚函数的 R 与 Pandas 数据框架。

游戏引擎架构:

 库名              简述                                          协议                  配置手段EntityXAnaxEntityPlusEnTTBOX2D              物理引擎

通用多媒体:

 库名              简述                                          协议                  配置手段SFML (Simple and Fast Multimedia Library)SDL (Simple        对音频、键盘、鼠标、操纵杆及图形硬件,DirectMedia Layer)    经由平台上图形 API (通常为 OpenGL 或 Direct3D )的跨平台低层访问( zlib 许可)   SIGIL (Sound,      文本、形状、输入、音频及 2D 图像的难以置信地Input, and Graphics 简单的跨平台极简库Integration Library)CinderopenFrameworks

通用:

 库名              简述                                          协议                  配置手段Boost               大量通用库的汇集                                Boost 许可  GSL                   Guideline Support Library 实现,为 Bjarne Stroustrup, Herb Sutter 和 Co 在《 C++ 核心方针》中推荐   BDE                 来自 Bloomberg L.P. 的 Bloomberg Development   Apache 许可 Environment 核心库  Dlib             网络、线程、图形用户界面、数据结构、线性代数、 Boost 许可机器学习、 XML 及文本分析、数值优化、贝叶斯网络和大量其他任务   JUCE                扩展性的成熟跨平台 C++ 工具套                   GPL 许可  Loki                设计模式   Reason               xml 、 xpath 、正则表达式、线程、接头、 http 、    GPL 许可 sql 、日期时间、流、编码与解码、文件系统、压缩  yomm2             C++17 的开放式多方法 Boost 许可  Folly               Facebook 开源库。设计带有构思中的实践性和效率设计的 C++11 组件库。   Abseil              Google 设计以补足 C++ 标准库的开源 C++ 库代码汇集。   cxxomfort          C++ 特性逆向移植( C++11 到 C++03 及 C++1y 提案到 C++11/C++03 )。   libsourcey         高速网络化和多媒体编码的跨平台 C++11 库。 HTTP 、 WebSockets 、 TURN 、 STUN 、 Symple 及更多……   OnPosix               在 POSIX 平台上提供各种抽象(例如线程、网络化、日志、 IPC 等)的 C++ 库。   Ultimate++            跨平台的迅速应用开发框架   CAF                  C++ Actor Framework (CAF) 是开源的 C++11        BSD 许可 行动者模型实现,特性为轻量而快速的行动者实现、消息的模式匹配、网络不可见消息传递及更多  cpp-mmf              对 POSIX 或 Windows 封装映射到内存文件的 C++98 库   CommonPP         多用途库,强调在项目中得出度规。                 BSD  Better Enums       反射性枚举(枚举到字符、迭代等),              BSD带 constexpr 支持。 Smart Enum           给你的枚举 "to_string" 、 "from_string"       Boost 许可  和更多。nytl              通用的 C++17 唯头文件模板库。                  Boost 许可  SaferCPlusPlus        SaferCPlusPlus - 不安全的 C++ 原始工具的     Boost 许可安全兼容替换品,包括指针、 int 和 std::vector。 fcppt               Freundlich 的 C++ 工具套 (fcppt) 是聚焦于通过提供更好的类型和函数式编程改进 C++ 代码的库汇集。   bitfield.h         位域结构设施,比基础语言设施更可移植/灵活。   composite_op.h      基础类数据成员自省,繁琐且常常不可重入,但有时有用。   Abstract Intrusive   比 boost::intrusive 更灵活,但非 STL 兼容。ContainersYato              现代 C++ (14/17) 的跨平台 STL 风格及 STL         Apache-2.0 兼容库,实现容器、范围、迭代器、类型特性和其他工具;行动者系统;类型安全配置接口  Kangaru               C++11 与 C++14 的依赖注入容器                   MIT 许可  yaal                算法、汇集、任意精度计算、泛型 DSL                 CC BY-ND-NC 4.0             CMake 文法驱动分析器及更多 gsl-lite           C++98 、 C++11 及后续版本的 ISO C++ Guideline支持库 (GSL) 的单文件唯头文件版本。   nonstd-lite           *-lite 仓库的亲属,将 C++11 后特性移植到古代 C++ 环境的迁移路径。   units               编译时唯头文件的量纲分析及单位转换库,建立于 C++14 而无依赖。

GPS:

 库名              简述                                          协议                  配置手段gpsd

图形用户界面:

 库名              简述                                          协议                  配置手段Dear ImGui          高度优化的不膨胀的图形用户界面库。   FLTKnana                用现代 C++ 风格的 GUI 编程( Boost 许可)   nanogui               最小化的跨平台器件库,适用于 OpenGL 3.x 或更高版本   WxWidgetsOWLNext               对 OWL 的,用于在 Windows 上以标准 C++ 书写 GUI 应用的现代更新   tiny file dialogs  单个 C C++ 跨平台文件(无初始化、无 main 循环、 6 种形态的函数调用)

CopperSpice

     库名              简述                                          协议                  配置手段CopperSpice         CopperSpice 是用于开发跨平台软件应用的 C++ 库集合。它在 LGPL V2.1 许可下发布。它使用现代理念的 C++ 并与 STL 无缝结合。 CopperSpice 派生自 Qt 框架。   CsSignal            独立的 C++ 具线程信号/槽库   CsString         独立的 C++ 具 Unicode 字符串库   libGuarded         独立的 C++ 多线程库,用于管理对共享数据的访问

GTK+

     库名              简述                                          协议                  配置手段glibmmgtkmmgoocanvasmmlibglademmlibgnomecanvasmmwebkitgtkflowcanvasevince

Qt

     库名              简述                                          协议                  配置手段Qtqwtplot3dqwt5             技术应用到 Qt Widgets   libdbusmenu-qtQuickQanava            直接在 Qt/QML 应用中画图的 C++14 库;项目主页: http://www.qanava.org   QuickProperties       QObject/QtObject 属性编辑的 C++/QML 库;项目主页: http://www.qanava.org

图形:

 库名              简述                                          协议                  配置手段cairommnuxpangommnanovg             基于openGL/DX/metal的2d绘图库。   bgfx             非常强大的跨平台图形渲染库,支持平台包括 Windows Mac Linux iOS Android Web,渲染后端包括 DX, opengl, metal webgl等。

图像:

 库名              简述                                          协议                  配置手段geglstb.imageAdobe/boost GIL        高层通用库,聚焦于 2D 图像上操作的算法。非常有限定 I/O 选项。   GraphicsMagick     读、写、操纵 88 种主要格式的图像。于 2002 年分化自 ImageMagick   Skia Graphics      Google 从 2005 年起的图形库,用于 Chrome 、Engine               Chrome OS 、 Android 还有 Firefox 和 SublimeText enwiki:Skia_Graphics_Engine   Anti-Grain           跨平台 2D 光栅化及绘图引擎Evolution

打点

     库名              简述                                          协议                  配置手段plotutils

格式

     库名              简述                                          协议                  配置手段librawopenexrqimageblitzimagemagickdjvulibrepopplerSVG++

3D 图形:

 库名              简述                                          协议                  配置手段VulkanOpenGLbgfx                跨平台、不知图形 API 、“带来你自己的引擎/框架”风格的制图库。   Ogre3DDiligent Engine      现代跨平台低层 3D 图形库。   GLEW              OpenGL 功能加载   GLAD              可定制的轻量库,用于加载 OpenGL 功能   Epoxy               GLEM 的现代后继者。在 GL 环境的一些种类间抽象,这使得有时比使用 GLEW 更加单。自 2015 起为 GTK+ 项目所用。   GLFW                OpenGL 窗口管理器   GLM                  制图用的唯头文件 C++ 数学库   hlsl++               使用 hlsl 语法的唯头文件 C++ 渲染库。支持 SSE 和 NEON   assimp              3D 模型加载   VTKMagnum             游戏和数据可视化的轻量模块化的 C++11/C++14 图形中间件   IrrlichtHorde3DVisionaray           C++ 光束追踪模板库   Open CASCADE      3D CAD/CAM/CAE 应用的 SDK   OpenSceneGraph

图像处理:

 库名              简述                                          协议                  配置手段opencvdlibITKOTB

国际化:

 库名              简述                                          协议                  配置手段IBM ICUgettextspirit-po         快速的唯头文件库,分析 po 文件,并提供类似GNU libintl 的接口。基于 boost::spirit 。

记录:

 库名              简述                                          协议                  配置手段Log4cpp             用于灵活地记录到文件、系统日志、 IDSA 或其他目标的 C++ 类库 (LGPL)   Log4cplus          日志 API ,提供日志管理及配置上的线程安全、灵活且有任意粒度的控制。   spdlog                超快的唯头文件 C++ 日志库   plog              C++ 的可移植且简单的日志,少于 1000 行代码 (MPL2)   Boost.Logglog                Google 日志库   log4cxx                Apache log4cxx 是 Apache log4j 后的 C++ 模式化记录框架   Pantheios            诊断日志 API 库,提供类型安全、效率、泛型和可扩展性的结合   Backward           打印漂亮的 Python 风格栈追踪,带颜色和源代码片段,特别是在崩溃时( MIT 许可)。

数学:

 库名              简述                                          协议                  配置手段stats++             先进、广泛的统计软件:数据收集及预处理、统计、机器学习及优化,拥有开放的 C++ 源码。   StatsLib           统计分布函数的模板化唯头文件库。   alglibArrayFire High Performance Computation LibraryGNU MP bignum C++ interfaceBigNumber         创建和计算任意长度整数的 C++ 类   Boost.MultiprecisionBoost.Math.Special Functions and Statistical DistributionsBoost.RandomNTL - A Libraryfor doing NumberTheorycpp-measures        处理物理度量的唯头文件 C++11 库   G+Smo             等几何分析的跨平台库   C++ Matrix         高性能且精确(例如极端情况)的矩阵数学库,带表达式模板算术运算符   Exact floating-point arithmetic libraryRPNX Uniform         N 维均匀分布的平滑噪声函数,以 C++ 实现。Smooth Noise

数值计算

     库名              简述                                          协议                  配置手段LibBF               由 Bellard 开发的任意精度数值计算库,拥有一个将圆周率计算到数十亿位的示例程序

线性代数

     库名              简述                                          协议                  配置手段Boost.uBLASEigenArmadilloBlitz++IT++Dlib - linear algebra toolsBlazeETLDecompLib            唯头文件的 C++11 库,分解向量为正定加权基向量的集合。

优化

     库名              简述                                          协议                  配置手段OptimLib            非线性函数数值优化方法的 C++11 库。

图论

     库名              简述                                          协议                  配置手段Boost.GraphLEMONOGDF - Open Graph Drawing FrameworkNGraph - a simple(Network) Graph library in C++GTpo              C++14 泛型图拓扑库,带 Protocol Buffer 序列化;项目主页: http://www.qanava.org

数的类库

     库名              简述                                          协议                  配置手段clnUniversal            通用数算术的 C++ 模板库,取代 IEEE 浮点( MIT 许可)

人工智能

     库名              简述                                          协议                  配置手段stats++liblinearDlib                机器学习工具   MLPACK             机器学习包   Shogun              大规模机器学习工具箱   FANN               快速人工神经网络库   TensorFlow          面向所有人的开源机器学习框架   Paddle             并行化分布式深度学习库   DLDT              OpenVINO™工具包-深度学习部署工具包   TensorRT           用于在 NVIDIA GPU 和深度学习加速器上进行高性能推理的 C++ 库   NCNN               腾讯开发的、针对移动平台进行了优化的高性能神经网络推理框架   OpenPose            实时多人关键点检测库,用于身体,面部,手和脚的检测   ANNetGPGPU         基于GPU(CUDA)的人工神经网络库。   btsk               游戏行为树入门套件。   Evolving Objects   基于模板的 C++ 演化计算库,可帮助您快速随意地编写自己的随机优化算法。   frugally-deep        仅头文件的库,用于在 C++ 中使用Keras模型。   Genann              简单神经网络库。   Recast/Detour        导航网格生成器和浏览器,主要用于游戏。   CNTK               微软认知工具包(CNTK),一种开源的深度学习工具包。   tiny-dnn         基于 C++11 的唯头文件、无依赖的深度学习框架。   Veles              用于快速深度学习应用程序开发的分布式平台。   Kaldi               语音识别工具包。

计算几何

     库名              简述                                          协议                  配置手段CGAL                计算几何算法库   Wykobi                计算几何库   PCL                 点云库

自动化理论

     库名              简述                                          协议                  配置手段yasmine - C++11 UML state machine framework

元编程:

 库名              简述                                          协议                  配置手段Boost.MPL           原初元编程库,目标为 C++03 ,慢   Boost.Hana          类型与值的新元编程库   Boost.Mp11Boost.CallableTraitsMetal                使用饿元函数, 100% SFINAE 友好   Brigand             使用饿元函数,为最佳性能优化   Meta                使用饿元函数,在 metal 和 brigand 之间,相对于性能妥协   Boost.Metaparse     编译时分析器库,从编译时字符串产生类型、值和元函数   Boost.Proto          构建基于表达式模板的 EDSLs 的库   CoMeta                轻量、唯头文件的 C++14 元编程库   visit_struct      小规模反射库,提供 C++11 的结构体观察器。自容纳, 100-200 行代码,取决于如何计算。

PDF:

 库名              简述                                          协议                  配置手段HARUPoDoFoJagPDF

物理与模拟:

 库名              简述                                          协议                  配置手段ReactPhysics3D      进行 3D 模拟与游戏的 C++ 物理引擎   ProjectCHRONO       开源多物理模拟引擎   Bullet              游戏、视觉效果、机器人及加固学习的物理模拟

序列化:

 库名              简述                                          协议                  配置手段Boost.Serializationlibs11nsweet_persistprotobufgSOAP                准确的 XML 序列化   ai-xml                通过添加单个最小的函数到类,在 XML 间序列化及反序列化。在底层使用 libxml++ 。   C++ XML objectsYAS (Yet Another Serialization)yaml-cppcereal (C++11 serialization)jios (JSON serialization)ThorsSerializer (JSON/YAML Input Output Streams)cppcodec         唯头文件库,编码/解码 base64 、 base32 和十六进制,有一致而灵活的 API ( MIT 许可)   iguana (universalserialization engine)rpnx-serial         能(反)序列化如 std::map 、 std::vector 等类型的库

二进制序列化

     库名              简述                                          协议                  配置手段UBjsonCpp           基于 C++14 的高性能 UBJson 读写库   binn             旨在紧凑,快速且易于使用的二进制序列化库,自身是同名格式的实现。   bson-cxx           BSON 格式的 C++ 实现。

排序:

 库名              简述                                          协议                  配置手段Timsort             模板化的稳定排序函数,对于逆序或半排序的数据,性能优于基于快速排序的算法,包括 std::sort 。 (MIT)

终端:

 库名              简述                                          协议                  配置手段cwidgetreplxx               readline 和 libedit 的替换品,支持 UTF-8 、语法高亮和提示。

测试:

 库名              简述                                          协议                  配置手段Boost.TestcppunitGoogle TestCatch2doctest               单元测试和 TDD 使用的最轻量的特性丰富的 C++ 单头文件测试框架   lest              现代的 C++11 原生的单文件唯头文件的轻量单元测试、TDD 和 BDD 框架(包含 C++98 变体)。   liblittletest        可移植,单个唯头文件的测试框架   ELFspy             杜绝假象和间谍的测试 - 仅 Linux   xtd.tunit            Windows 、 macOS 、 Linux 、 iOS 和 Android 上的现代 C++17 单元测试库。官方网站   bandit              C++11 的对人类友好单元测试

文本:

 编码库名                简述                                          协议                  配置手段uchardet            实现猜字符串编码的功能,和python里的uchardet功能基本一样。   win-iconv            Linux 和 Mac 上的字符集编码转换库 iconv 的Windows 实现,基于 Win32 字符集转换 API 实现。

格式化

     库名              简述                                          协议                  配置手段fmt                 printf 不好用,ostream 也不好用,format 好用

分析

     库名              简述                                          协议                  配置手段PEGTL               分析表达式文法的模板库   BNFlite               仅单个头文件的轻量文法分析器库

搜索

     库名              简述                                          协议                  配置手段clucenexapianStep               Ukkonen 的构建后缀树在线算法, Manber 的构建后缀数组算法。

模板引擎

     库名              简述                                          协议                  配置手段inja                现代 C++ 的模板引擎

版本控制:

 库名              简述                                          协议                  配置手段LibGit2             版本控制系统 Git 的核心库。   cpp-semver           语义化版本号的 C++ 操作库。

视频:

 库名              简述                                          协议                  配置手段crystalhdmjpegtoolslibmatroskalibVLCgstreamermm

Web:

 库名              简述                                          协议                  配置手段libmusicbrainz5liblastfmlibkcddbChromium EmbeddedQtWebApp           Java Servlets 所启发的 HTTP(s) Server ,以 C++ 实现   WtTufãolibhttpservercpp-jwtoatpp               用于创建高性能网络服务的轻量零依赖框架

C++开源库列表总结记录相关推荐

  1. python的开源库是什么_python开源库列表

    标准库 Python标准库描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库.它还描述了通常包含在 Python 发行版中的一些可选组件. API手册:h ...

  2. 开源库OpenNMT-py使用记录

    一.准备 官网:http://opennmt.net/ python+torch版Github:https://github.com/OpenNMT/OpenNMT-py python+torch版说 ...

  3. android button 添加事件_2019最新Android常用开源库总结

    前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 TextView HTextView 一 ...

  4. Android 优秀的开源库

    前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 TextView HTextView 一 ...

  5. Android常用热门开源库汇总(持续更新)

    原文转载:https://www.yundashi168.com/344.html 请及时关注原文网站,因为后续持续更新都在原网站更新.请多多点赞和关注. 前言 收集了一些比较常见的开源库,特此记录( ...

  6. 2019最新Android常用开源库总结(From:知乎)

    文章目录 一 .基本控件 **TextView** **EditText** **ImageView** **Button** **Spinner** **CheckBox** **ProgressB ...

  7. 最新最全 Android 常用开源库总结

    点击上方"码农突围",马上关注这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看" ...

  8. android view设置按钮颜色_建议收藏!最全 Android 常用开源库总结!

    作者 |  i小灰地址 |  https://www.jianshu.com/p/3fde87405411 前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关 ...

  9. Android 常用开源库总结-2020年

    前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 TextView HTextView 一 ...

  10. 2019最新Android常用开源库总结

    前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 TextView HTextView 一 ...

最新文章

  1. 中国AI创新者论坛成功举办!这里有一份AI教育和医疗的落地秘籍
  2. I2C总线及AT24C02读写实验报告
  3. 认证篇——消息认证码
  4. 单例-单例设计模式代码实现
  5. [剑指offer][JAVA][面试题第13题][机器人的运动][DFS][BFS]
  6. java防止上传恶意文件_从补丁分析到在野利用:揭秘CVE20201464 Windows文件签名验证绕过漏洞疑云...
  7. laragon环境安装新的php版本后弹出php startup
  8. C++从文件中查找特定的字符串,并提取该字符串
  9. 自己工资自己算,策略设计模式(Strategy)
  10. fabric安装及试用
  11. 100+个Java项目视频教程+源码+笔记,项目经验不用愁了!
  12. 简单实用的数据可视化案例
  13. lockdir便携式文件夹加密器(单文件绿色版)
  14. Qt自带mingw使用
  15. E-96系列电阻值代号对照表
  16. Kaptcha 验证码框架使用
  17. php 数据库 编程,php数据库编程(mysql mysqli pdo)
  18. 网页中的一键加QQ群、唤起QQ群聊天窗口
  19. 【FXCG】多头陷阱知多少
  20. 清华大学计算机竞赛自主招生,清华大学自主招生竞赛有哪些要求

热门文章

  1. 数据分析之实战项目——电商用户行为分析【python】
  2. 【OpenGrok代码搜索引擎】三、OpenGrok常用命令
  3. SharePoint 2016 Search 定制开发简介系列七-Search Database with Security Trimming
  4. MIMO技术杂谈(四):OFDM那些事(二)
  5. 元境云游戏技术让游戏全平台畅玩成为现实
  6. Viddy上视频营销最成功的6家公司
  7. 北京积分落户公示名单公布:华为笑傲榜单,来看落户最多的是哪些企业!
  8. 阿里怎么用DDD来拆分微服务?
  9. 视频目标检测paper带读(一)《Flow-Guided Feature Aggregation for Video Object Detection》
  10. raptor流程图赋值语句_RAPTOR和流程图.ppt