此页面的目的是构建开源 C++ 库的比较列表,使得人们在需要特定功能的实现时,不必浪费时间在网上( DuckDuckGo 、谷歌、必应等)搜索。
若你知道可能对其他人有用的库,请在此添加到它的链接。能包含进来的库没有限制,但是必须能便捷地下载库的源码。
以“原态”提供此页面——希望这有用,但不提供任何担保。过时、误导或错误的链接可能出现于此。若你注意到这些错误,则改正它会很有意义。
包管理器
包管理器
|
简述
|
build2
|
一个开源的 (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
|
开源库,音频和音乐分析、描述和合成工具 (MIR) (源码)
|
Affero GPLv3
|
|
FFTW
|
离散傅里叶变换 (DFT) 计算库 (SSE/SSE2/AVX/Altivec/ARM Neon)。 (源码)
|
GPL-2.0
|
CMake
|
KFR
|
快速、现代、C++17、开源并且跨平台的 DSP/DFT 框架。支持音频重采样、 FIR/IIR 滤波器、二阶滤波器, (SSE, AVX, AVX-512, ARM NEON)。 (源码)
|
GPL-2.0
|
CMake
|
soundtouch
|
SoundTouch 是一个开源、跨平台的音频处理库,用于更改音频流或音频文件的速度、音调和播放速率。 (源码)
|
LGPL-2.1
|
Makefile
|
- CD
- 音频指纹
- 格式
- 标签
性能测试
库名
|
简述
|
协议
|
配置手段
|
benchmark
|
|
Apache-2.0
|
CMake
|
Celero
|
|
Apache
|
CMake
|
gperftools
|
“谷歌性能工具”包含高性能、多线程的 malloc 实现加上评测堆分配和 CPU 利用的工具。
|
BSD 3-Clause "New" or "Revised" License
|
configure
|
plf::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 License 1.1
|
CMake
|
C++ REST SDK
|
异步 HTTP 客户端及监听器、异步 Stream 、 URI 、 JSON
|
MIT
|
CMake
|
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 客户端库,专注于可用性和速度,支持 http 响应缓存及更多
|
MIT
|
CMake
|
eCAL
|
高性能进程间通信
|
Apache-2.0
|
CMake
|
fineftp-server
|
|
MIT
|
CMake
|
gRPC
|
|
|
|
gsoap
|
XML 数据绑定、快速 WSDL/SOAP/XML 网络服务、 WS 安全、 JSON/XML-RPC RESTful 服务的 C/C++ 开发工具套
|
|
|
HTTPP
|
简单、生产就绪的构建在 Boost 上的 HTTP 服务器,及构建在 libcurl 上的客户端。
|
BSD 2-Clause "Simplified" License
|
CMake, Makefile
|
IXWebSocket
|
无依赖的开源 WebSocket + HTTP 库,支持 SSL 和逐条消息 deflate 的 WebSocket 扩展。
|
BSD 3-Clause "New" or "Revised" License
|
CMake, Makefile
|
KCP
|
快速可靠的 ARQ 协议,帮助应用减少网络延迟。
|
MIT
|
CMake
|
libashttp
|
异步 HTTP 客户端库
|
GNU Lesser General Public License v3.0
|
|
libnavajo
|
|
CeCILL-C FREE SOFTWARE LICENSE AGREEMENT
|
CMake
|
libtins
|
网络包装制作及嗅探库
|
|
|
nanomsg
|
|
|
|
netif
|
|
BSD 3-Clause "New" or "Revised" License
|
CMake
|
nghttp2
|
HTTP/2 C 库及工具(服务器、客户端、代理和评测工具)
|
MIT
|
CMake, configure
|
ngrest
|
快速而简易的利用 JSON 的 RESTful 网络服务框架
|
Apache-2.0
|
CMake
|
nng
|
|
|
|
omniORB
|
最快速、完整而可移植的 CORBA ORB 在 C++ 中的实现
|
|
|
OpenDDS
|
DDS 实现
|
|
|
Paho MQTT
|
|
|
CMake
|
paozhu
|
C++20 Web Framework Support HTTP/2 ORM WebSocket
|
MIT
|
CMake
|
PcapPlusPlus
|
多平台 C++ 网络嗅探和包装分析及制作框架
|
|
|
POCO
|
网络:加密、 HTTP ; ZIP 文件
|
|
|
rest_rpc
|
现代、简单、易用的 rpc 框架
|
|
CMake
|
restbed
|
设计以嵌入到宽范围的应用中的 C++ 为框架。
|
许可协议
|
CMake
|
restc-cpp
|
将痛苦从自 C++ 访问 JSON API 带走。 HTTP 客户端,原生 C++ 类到/自 JSON 的序列化,通过 boost::asio coroutines 携程的异步 IO 。 C++14 。
|
MIT
|
CMake
|
restful_mapper
|
于 C++ 中消费 RESTful JSON API 的 ORM
|
|
CMake, Makefile
|
seastar
|
用C++11实现的高性能异步编程框架。
|
Apache-2.0
|
CMake, etc.
|
Silicon
|
快速而稳健的 Web APIs
|
MIT
|
CMake
|
sockpp
|
简单的现代 C++ 套接库
|
BSD 3-Clause "New" or "Revised" License
|
CMake
|
Simple C++ REST library
|
在你的 C++ 应用中创建 REST API 的非常简单且自成文档的库
|
|
|
stream-client
|
轻量、唯头文件的、基于 Boost 的客户端 socket/connector/socket pool/resolver
|
Apache-2.0
|
CMake
|
tacopie
|
C++11 TCP 库
|
MIT
|
CMake
|
TAO
|
CORBA
|
|
|
taox11
|
基于 C++11 的 CORBA 实现
|
MIT
|
|
Unicomm
|
异步网络、高层 TCP 交互框架
|
|
|
uvw
|
现代 C++ 书写的 libuv
|
MIT
|
CMake
|
wvstreams
|
|
GPL
|
|
zeromq
|
快速消息队列
|
|
|
并发
配置
- 命令行
- CSS
库名
|
简述
|
协议
|
配置手段
|
mycss
|
CSS 解析器
|
|
|
- HOCON
库名
|
简述
|
协议
|
配置手段
|
cpp-hocon
|
Pupplet 开发的 HOCON 格式的 C++ 实现。
|
|
|
- JSON
- TOML
- XML
- YAML
容器
密码学
数据库
库名
|
简述
|
协议
|
配置手段
|
cpp-redis
|
C++11 轻量的 Redis 客户端:异步、线程安全、无依赖、管道化、多平台。
|
|
|
DTL
|
|
|
|
EasyQtSql
|
轻量唯头文件 C++11 库,用 QtSql 快速便捷地进行 SQL 查询
|
|
|
LevelDB
|
谷歌开发的、能够处理十亿级别规模 Key-Value 型数据持久性存储的C++ 程序库。
|
|
|
libpqxx
|
|
|
|
lmdb++
|
LMDB 嵌入式 B+ 树数据库的 C++11 包装。
|
|
|
mongocxx
|
MongoDB 的 C++11 驱动库
|
|
|
mysql++
|
|
|
|
ODB
|
C++ Object-Relational Mapping (ORM)
|
|
|
OTL
|
|
|
|
Pgfe
|
PostGres FrontEnd现代 C++ 客户端 API 到 PostgreSQL
|
Zlib License
|
CMake
|
QTL
|
A friendly and lightweight C++ database library for MySQL, SQLite and ODBC.
|
|
|
QUINCE
|
QUeries IN C++ Expressions (ORM+EDSL)
|
Boost License
|
|
QxOrm
|
Object Relational Mapping (ORM) database library for C++/Qt, supports most common databases, serialization (JSON, binary, XML); standalone multi-threaded HTTP web server
|
GPLv3 or Proprietary license
|
|
redis-cpp
|
C++17 Lightweight C++ client header-only library for executing Redis commands.
|
|
|
redis-plus-plus
|
用C++ 11编写的Redis客户端, 支持Redis Sentinel,Redis Cluster,管道,事务,发布订阅,连接池以及类似于STL的接口
|
|
|
SOCI
|
|
|
|
SQLAPI++
|
|
|
|
SQLiteCPP
|
|
|
|
sqlpp11
|
|
|
|
taoPQ
|
Lightweight C++17 PostgreSQL client library
|
MIT License
|
CMake
|
嵌入语言绑定
嵌入式/实时系统
库名
|
简述
|
协议
|
配置手段
|
distortos
|
微控制器的面向对象 C++ RTOS
|
|
|
ETL
|
Embedded Template Library - C++03 ,为少资源平台裁剪的可移植模板库
|
|
|
QP/C++
|
RTOS 内核
|
GPL或商业许可
|
|
µcuREST
|
微控制器的 C++11 REST/JSON 服务器框架
|
|
|
文件元数据
金融计算
库名
|
简述
|
协议
|
配置手段
|
DataFrame
|
C++ DataFrame —— 现代 C++ 中使用原生类型、连续内存存储,且无虚函数的 R 与 Pandas 数据框架。
|
|
|
QuantLib
|
Quantitative finance library
|
|
|
游戏引擎架构
通用多媒体
库名
|
简述
|
协议
|
配置手段
|
Cinder
|
|
|
|
Kigs-framework
|
Modular Multi-purpose Cross Platform Framework
|
MIT license
|
|
openFrameworks
|
|
MIT
|
|
SDL
|
(Simple DirectMedia Layer): 对音频、键盘、鼠标、操纵杆及图形硬件,经由平台上图形 API (通常为 OpenGL 或 Direct3D )的跨平台低层访问
|
zlib
|
|
SFML
|
Simple and Fast Multimedia Library
|
|
|
SIGIL
|
Sound, Input, and Graphics Integration Library; 文本、形状、输入、音频及 2D 图像的难以置信地简单的跨平台极简库
|
|
|
通用
库名
|
简述
|
协议
|
配置手段
|
Abseil
|
Google 设计以补足 C++ 标准库的开源 C++ 库代码汇集。
|
|
|
Abstract Intrusive Containers
|
比 boost::intrusive 更灵活,但非 STL 兼容。
|
|
|
BDE
|
来自 Bloomberg L.P. 的 Bloomberg Development Environment 核心库
|
Apache
|
|
Better Enums
|
反射性枚举(枚举到字符、迭代等),带 constexpr 支持。
|
BSD
|
|
bitfield.h
|
位域结构设施,比基础语言设施更可移植/灵活。
|
|
|
Boost
|
大量通用库的汇集
|
BSL-1.0
|
|
CAF
|
C++ Actor Framework (CAF) 是开源的 C++11 行动者模型实现,特性为轻量而快速的行动者实现、消息的模式匹配、网络不可见消息传递及更多
|
BSD
|
|
Cinder
|
A community-developed, free and open source library for professional-quality creative coding in C++. (Doc) (Src)
|
Modified BSD License
|
CMake
|
CommonPP
|
多用途库,强调在项目中得出度规。
|
BSD
|
|
composite_op.h
|
基础类数据成员自省,繁琐且常常不可重入,但有时有用。
|
|
|
cpp-mmf
|
对 POSIX 或 Windows 封装映射到内存文件的 C++98 库
|
|
|
cxxomfort
|
C++ 特性逆向移植( C++11 到 C++03 及 C++1y 提案到 C++11/C++03 )。
|
|
|
Dlib
|
网络、线程、图形用户界面、数据结构、线性代数、机器学习、 XML 及文本分析、数值优化、贝叶斯网络和大量其他任务
|
BSL-1.0
|
|
fcppt
|
Freundlich 的 C++ 工具套 (fcppt) 是聚焦于通过提供更好的类型和函数式编程改进 C++ 代码的库汇集。
|
|
|
Folly
|
Facebook 开源库。设计带有构思中的实践性和效率设计的 C++11 组件库。
|
|
|
GSL
|
Guideline Support Library 实现,为 Bjarne Stroustrup, Herb Sutter 和 Co 在《 C++ 核心方针》中推荐
|
|
|
gsl-lite
|
C++98 、 C++11 及后续版本的 ISO C++ Guideline 支持库 (GSL) 的单文件唯头文件版本。
|
|
|
History
|
Modern C++17 Undo/Redo Framework
|
Unlicense
|
|
IP-DOS (tm)
|
IdeaFarm (tm) Piggyback Distributed Operating System: A general purpose programming environment for the C++ language.
|
Proprietary Open Source
|
Open Watcom 2.0
|
JUCE
|
扩展性的成熟跨平台 C++ 工具套
|
GPL
|
|
Kangaru
|
C++11 与 C++14 的依赖注入容器
|
MIT
|
|
libsourcey
|
高速网络化和多媒体编码的跨平台 C++11 库。 HTTP 、 WebSockets 、 TURN 、 STUN 、 Symple 及更多……
|
|
|
LLNL/units
|
A run-time C++ library for working with units of measurement and conversions between them and with string representations of units and measurements
|
BSD 3-Clause "New" or "Revised" License
|
CMake
|
Loki
|
设计模式
|
|
|
nonstd-lite
|
*-lite 仓库的亲属,将 C++11 后特性移植到古代 C++ 环境的迁移路径。
|
|
|
nytl
|
通用的 C++17 唯头文件模板库。
|
BSL-1.0
|
|
OnPosix
|
在 POSIX 平台上提供各种抽象(例如线程、网络化、日志、 IPC 等)的 C++ 库。
|
|
|
Reason
|
xml 、 xpath 、正则表达式、线程、接头、 http 、 sql 、日期时间、流、编码与解码、文件系统、压缩
|
GPL
|
|
SaferCPlusPlus
|
SaferCPlusPlus - 不安全的 C++ 原始工具的安全兼容替换品,包括指针、 int 和 std::vector。
|
BSL-1.0
|
|
Smart Enum
|
给你的枚举 "to_string" 、 "from_string" 和更多。
|
BSL-1.0
|
|
units
|
编译时唯头文件的量纲分析及单位转换库,建立于 C++14 而无依赖。
|
|
|
yaal
|
算法、汇集、任意精度计算、泛型 DSL 文法驱动分析器及更多
|
CC BY-ND-NC 4.0
|
CMake
|
Yato
|
现代 C++ (14/17) 的跨平台 STL 风格及 STL 兼容库,实现容器、范围、迭代器、类型特性和其他工具;行动者系统;类型安全配置接口
|
Apache-2.0
|
|
yomm2
|
C++17 的开放式多方法
|
BSL-1.0
|
|
GPS
图形用户界面
- CopperSpice
库名
|
简述
|
协议
|
配置手段
|
CopperSpice
|
CopperSpice 是用于开发跨平台软件应用的 C++ 库集合。它在 LGPL V2.1 许可下发布。它使用现代理念的 C++ 并与 STL 无缝结合。 CopperSpice 派生自 Qt 框架。
|
|
|
CsSignal
|
独立的 C++ 具线程信号/槽库
|
|
|
CsString
|
独立的 C++ 具 Unicode 字符串库
|
|
|
libGuarded
|
独立的 C++ 多线程库,用于管理对共享数据的访问
|
|
|
- GTK+
- Qt
- Ultimate++
库名
|
简述
|
协议
|
配置手段
|
Ultimate++
|
跨平台的迅速应用开发框架
|
|
|
upp-components
|
A collection of 3rd party packages for Ultimate++ like TerminalCtrl, MessageCtrl etc..
|
BSD-3-Clause
|
|
图形
库名
|
简述
|
协议
|
配置手段
|
bgfx
|
非常强大的跨平台图形渲染库,支持平台包括 Windows Mac Linux iOS Android Web,渲染后端包括 DX, opengl, metal webgl等。
|
|
|
cairomm
|
|
|
|
dfpsr
|
2D, 3D and isometric software renderer with desktop GUI toolkit, minimalistic dependency, designed for long time maintenance and can run without any 3D accelerated drivers
|
zlib license
|
|
gegl
|
GEGL (Generic Graphics Library) is a data flow based image processing framework, providing floating point processing and non-destructive image processing capabilities. (Src)
|
LGPL
|
|
io2d
|
Reference Implementations of P0267, the proposed 2D graphics API for ISO C++
|
Boost License
|
CMake
|
nanovg
|
基于openGL/DX/metal的2d绘图库。
|
|
|
nux
|
|
|
|
pangomm
|
|
|
|
Skia
|
is an open-source 2D-graphics library written in C++. Skia is used in Google Chrome, Chrome OS, Mozilla Firefox, Android, LibreOffice, Flutter, etc. Skia has several back-ends: software rasterization, (PDF) output, OpenGL, SVG, etc.
|
New BSD License
|
|
TXLib
|
TX Library is a tiny 2D graphics library for Win32 written in C++.
|
|
|
ULIS
|
Cross-Platform C++14 Library, Generic digital image processing, 2D Software rasterizer, Unlimited image formats (u8, u16, u32, float, double), Custom bit-ordered memory layout, All Photoshop pixel blending modes + 11 additional modes, Color models (RGB, HSL, HSV, CMYK, ...), Color-managed pipelines, Color Space support (icm profiles and device-independant), Optimized algorithms with multithreading, Optimized algorithms with SIMD Extensions (SSE2), Image pools and caches for optimisations, Memory storage of animated image sequences
|
Custom (free-of-charge for non-commercial purposes only)
|
CMake
|
3D 图形
库名
|
简述
|
协议
|
配置手段
|
assimp
|
3D 模型加载
|
|
|
bgfx
|
跨平台、不知图形 API 、“带来你自己的引擎/框架”风格的制图库。
|
|
|
Diligent Engine
|
现代跨平台低层 3D 图形库。
|
|
|
Epoxy
|
GLEM 的现代后继者。在 GL 环境的一些种类间抽象,这使得有时比使用 GLEW 更加单。自 2015 起为 GTK+ 项目所用。
|
|
|
G3D
|
The G3D Innovation Engine is a fully featured, open source, cross platform (Windows, Linus, Mac OS) 3D game engine written in C/C++. G3D is used in commercial games, research papers, simulators, and university courses. It supports real-time and offline hardware rendering, ray tracing, model loading, linear algebra, and GP-computation on GPUs. Supports 3DS, OBJ, MP4, PNG, JPG, MD3 and many other formats, includes a native OpenGL skinnable GUI. (Src) (Doc)
|
BSD-2 license
|
|
GLAD
|
可定制的轻量库,用于加载 OpenGL 功能
|
|
|
GLEW
|
OpenGL 功能加载
|
|
|
GLFW
|
OpenGL 窗口管理器
|
|
|
GLM
|
制图用的唯头文件 C++ 数学库
|
|
|
hlsl++
|
使用 hlsl 语法的唯头文件 C++ 渲染库。支持 SSE 和 NEON
|
|
|
Horde3D
|
|
|
|
Irrlicht
|
|
|
|
klein
|
C++11/14/17 SSE-optimized Projective Geometric Algebra library for graphics and animation
|
|
|
Magnum
|
游戏和数据可视化的轻量模块化的 C++11/C++14 图形中间件
|
|
|
O3DE
|
Open-source 3D Engine (former Amazon's Lumberyard) is a C++ multi-platform 3D engine to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations. Includes physics simulation, script engine, networking, and more. (Doc)
|
Apache 2.0
|
CMake
|
Ogre3D
|
|
|
|
Open CASCADE
|
3D CAD/CAM/CAE 应用的 SDK
|
|
|
OpenGL
|
|
|
|
OpenSceneGraph
|
|
|
|
Visionaray
|
C++ 光束追踪模板库
|
|
|
VTK
|
|
|
|
Vulkan
|
|
|
|
图像
库名
|
简述
|
协议
|
配置手段
|
Adobe/boost GIL
|
高层通用库,聚焦于 2D 图像上操作的算法。非常有限定 I/O 选项。
|
|
|
agge
|
Anti-Grain Evolution. 2D graphics engine for Speed and Quality in C++
|
MIT License
|
CMake
|
Anti-Grain Evolution
|
跨平台 2D 光栅化及绘图引擎
|
|
|
FreeImage
|
An Open-Source library project for developers who would like to support popular graphics image formats like PNG, BMP, JPEG, TIFF and others
|
GPLv2, GPLv3, FIPL
|
|
gegl
|
|
|
|
GraphicsMagick
|
读、写、操纵 88 种主要格式的图像。于 2002 年分化自 ImageMagick
|
|
|
SAIL
|
Reading and writing static, animated, multi-paged images along with their meta data and ICC profiles. No manipulating capabilities. Targets simplicity and speed.
|
MIT
|
CMake
|
Skia Graphics Engine
|
Google 从 2005 年起的图形库,用于 Chrome 、 Chrome OS 、 Android 还有 Firefox 和 Sublime Text enwiki:Skia_Graphics_Engine
|
|
|
stb.image
|
|
|
|
- 格式
- 绘图
库名
|
简述
|
协议
|
配置手段
|
Matplot++
|
A gnuplot based C++ Graphics Library for Data Visualization. Matplot++ can take advantage of the following libs: OpenCV, OpenGL, LAPACK, BLAS, FFTW, JPEG, TIFF, ZLIB, PNG, GLAD, GLFW3. (Doc)
|
MIT License
|
CMake
|
plotutils
|
|
|
|
图像处理
库名
|
简述
|
协议
|
配置手段
|
dlib
|
|
|
|
Halide
|
A C++-embedded DSL for high-performance processing of images and tensors.
|
MIT
|
CMake, vcpkg
|
ITK
|
|
|
|
opencv
|
|
|
|
OTB
|
|
|
|
国际化
日志
库名
|
简述
|
协议
|
配置手段
|
Backward
|
打印漂亮的 Python 风格栈追踪,带颜色和源代码片段,特别是在崩溃时。
|
MIT
|
|
Boost.Log
|
|
|
|
glog
|
Google 日志库
|
|
|
Log4cplus
|
日志 API ,提供日志管理及配置上的线程安全、灵活且有任意粒度的控制。
|
|
|
Log4cpp
|
用于灵活地记录到文件、系统日志、 IDSA 或其他目标的 C++ 类库 (LGPL)
|
|
|
log4cxx
|
Apache log4cxx 是 Apache log4j 后的 C++ 模式化记录框架
|
|
|
Pantheios
|
诊断日志 API 库,提供类型安全、效率、泛型和可扩展性的结合
|
|
|
plog
|
C++ 的可移植且简单的日志,少于 1000 行代码 (MPL2)
|
|
|
Quill
|
C++14 Asynchronous Low Latency Logging Library
|
|
|
spdlog
|
超快的唯头文件 C++ 日志库
|
|
|
错误处理
库名
|
简述
|
协议
|
配置手段
|
Boost.LEAF
|
Lightweight error-handling library for C++11: single-header format, no dependencies, no dynamic memory allocations, can be used with or without exception handling, multi-threading ready.
|
BSL-1.0
|
|
数学
- 自动化理论
- 数的类库
库名
|
简述
|
协议
|
配置手段
|
cln
|
|
|
|
CNL
|
Compositional Numeric Library - fixed-precision numeric types
|
BSL-1.0
|
CMake, Conan
|
Universal Numbers
|
通用数算术的 C++ 模板库,取代 IEEE 浮点
|
MIT
|
|
- 计算几何
- 图论
- 线性代数
库名
|
简述
|
协议
|
配置手段
|
Armadillo
|
|
|
|
Blaze
|
|
|
|
Blitz++
|
|
|
|
Boost.uBLAS
|
|
|
|
DecompLib
|
唯头文件的 C++11 库,分解向量为正定加权基向量的集合。
|
|
|
Dlib - linear algebra tools
|
|
|
|
Eigen
|
|
|
|
ETL
|
|
|
|
IT++
|
|
|
|
Matrix
|
Easy-to-use Scientific Computing library in/for C++ available for Linux and Windows.
|
MIT License
|
CMake
|
PETSc
|
A suite of data structures and routines for the parallel solution of scientific applications modeled by partial differential equations. It supports MPI, and GPUs through CUDA or OpenCL, as well as hybrid MPI-GPU.
|
|
|
xtensor
|
A C++ library meant for numerical analysis with multi-dimensional array expressions.
|
BSD
|
|
- 机器学习
- 数值计算
库名
|
简述
|
协议
|
配置手段
|
LibBF
|
由 Bellard 开发的任意精度数值计算库,拥有一个将圆周率计算到数十亿位的示例程序
|
|
|
- 优化
库名
|
简述
|
协议
|
配置手段
|
ceres-solver
|
Open-source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010.
|
Apache License
|
CMake, Conan
|
OptimLib
|
非线性函数数值优化方法的 C++11 库。
|
|
|
元编程
PDF
物理与模拟
库名
|
简述
|
协议
|
配置手段
|
Bullet
|
游戏、视觉效果、机器人及加固学习的物理模拟
|
|
|
HELICS
|
Co-simulation framework for synchronizing time and exchanging data between different types of simulators
|
BSD 3-Clause "New" or "Revised" License
|
CMake
|
ProjectCHRONO
|
开源多物理模拟引擎
|
|
|
ReactPhysics3D
|
进行 3D 模拟与游戏的 C++ 物理引擎
|
|
|
序列化
- 二进制序列化
库名
|
简述
|
协议
|
配置手段
|
binn
|
旨在紧凑,快速且易于使用的二进制序列化库,自身是同名格式的实现。
|
|
|
blobify
|
C++17 header-only, infers the serialized layout from the structure definition alone.
|
Boost License
|
CMake
|
bson-cxx
|
BSON 格式的 C++ 实现。
|
|
|
fast_ber
|
High-performance serialization using BER/DER encoding rules. Encoding layout is defined by ASN.1 schemas. Follows modern C++ practices, written in C++11.
|
|
|
UBjsonCpp
|
基于 C++14 的高性能 UBJson 读写库
|
|
|
排序
库名
|
简述
|
协议
|
配置手段
|
Cpp-sort
|
A collection of various sorting algorithms in a simple package.
|
MIT license
|
|
Indiesort
|
Templated sort-wrapper function which allows use of std::sort (and other random-access sort methods) with non-random-access containers. It also increases the performance of sorting large types in random-access containers and arrays
|
zlib license
|
|
Timsort
|
模板化的稳定排序函数,对于逆序或半排序的数据,性能优于基于快速排序的算法,包括 std::sort 。
|
MIT License
|
CMake
|
系统
库名
|
简述
|
协议
|
配置手段
|
Infoware
|
C++ Library for pulling system and hardware information, without hitting the command line.
|
Creative Commons v1.0 License
|
CMake
|
终端
库名
|
简述
|
协议
|
配置手段
|
cli
|
A cross-platform header-only library for interactive command line interfaces in modern C++.
|
BSL-1.0
|
make, cmake, nmake, vcpkg
|
cwidget
|
|
|
|
replxx
|
readline 和 libedit 的替换品,支持 UTF-8 、语法高亮和提示。
|
|
|
测试
文本
- 编码
库名
|
简述
|
协议
|
配置手段
|
strsuite
|
A C++20 library to manage strings with different encodings
|
LGPL3.0
|
CMake
|
uchardet
|
实现猜字符串编码的功能,和python里的uchardet功能基本一样。
|
|
|
win-iconv
|
Linux 和 Mac 上的字符集编码转换库 iconv 的 Windows 实现,基于 Win32 字符集转换 API 实现。
|
|
|
- Diff/Patch
库名
|
简述
|
协议
|
配置手段
|
diff_match_patch
|
Create and apply patches for strings (requires Qt)
|
Apache 2.0 License
|
|
- 格式化
库名
|
简述
|
协议
|
配置手段
|
fmt
|
printf 不好用,ostream 也不好用,format 好用
|
|
|
- 语法分析
- 搜索
- 模板引擎
库名
|
简述
|
协议
|
配置手段
|
inja
|
现代 C++ 的模板引擎
|
|
|
Jinja2C++
|
Modern C++ implementation of Jinja2 templates
|
|
|
版本控制
视频
Web
参阅