此页面的目的是构建开源 C++ 库的比较列表,使得人们在需要特定功能的实现时,不必浪费时间在网上(DuckDuckGo、谷歌、必应等)搜索。
若你知道可能对其他人有用的库,请在此添加到它的链接。能包含进来的库没有限制,但是必须能便捷地下载库的源码。
以“原态”提供此页面——希望这有用,但不提供任何担保。过时、误导或错误的链接可能出现于此。若你注意到这些错误,则改正它会很有意义。
库名
|
简述
|
协议
|
配置手段
|
ACE
|
异步网络、多路分离、报文发送(源码) (文档)
|
自定义
|
make
|
Apache Thrift
|
Apache Thrift 软件框架,用于规模可变的跨语言服务开发,将软件栈与代码生成引擎结合,构建有效而无缝地在 C++、Java、Python、PHP、Ruby、Erlang、Perl、Haskell、C#、Cocoa、JavaScript、Node.js、Smalltalk、Ocaml、Delphi 及其他语言间工作的服务。(源码)
|
Apache-2.0
|
cmake, vcpkg
|
Boost.Asio
|
异步及同步网络、定时器、序列 I/O
|
BSL-1.0
|
|
Boost.Beast
|
建立于 Boost.Asio 顶上的 HTTP 及 WebSocket 库
|
BSL-1.0
|
|
Breep
|
基于事件、高层、点对点库,允许用户直接发送和接收对象。
|
European Union Public License 1.1
|
cmake
|
brpc
|
百度广泛使用的工业级 RPC 框架,百万以上实例和数千种服务。(源码) (文档)
|
Apache 2.0
|
cmake
|
C++ REST SDK
|
异步 HTTP 客户端及监听器、异步 Stream、URI、JSON
|
MIT
|
cmake
|
cpp-httplib
|
C++11 仅单个头文件的跨平台 HTTP/HTTPS 库
|
MIT
|
仅头文件; cmake
|
FPNN
|
Fast Programmable Nexus Network. 高性能全异步 RPC 服务框架。同时支持HTTP、WebSocket、TCP和可靠UDP。支持超高压服务器开发,有对应各语言客户端SDK。
|
|
make
|
cpp-netlib
|
cpp-netlib:C++ 网络库
|
BSL-1.0
|
cmake
|
cpr
|
现代 C++ HTTP 请求库
|
MIT
|
cmake
|
Crow
|
C++ 微型 web 框架(受 Python Flask 启发)
|
BSD-3-Clause
|
cmake
|
curlpp
|
libcURL(CURL 库)的 C++ 包装。(源码)
|
|
cmake, vcpkg
|
DumaisLib
|
多种工具,如:WebServer, JSON, WebSocket 服务器,REST 框架等(用于在你的 C++ 应用中创建 REST API 的库)
|
MIT
|
Makefile
|
EasyHttp
|
跨平台的 HTTP 客户端库,专注于可用性和速度,支持 http 响应缓存及更多
|
MIT
|
cmake
|
eCAL
|
高性能进程间通信
|
Apache-2.0
|
cmake
|
fineftp-server
|
FTP 服务器库,支持 Windows 和 Unix
|
MIT
|
cmake
|
FPNN
|
高速可编程组连网络。高性能全异步 RPC 服务框架。同时支持 HTTP、WebSocket、TCP 和可靠 UDP 协议。支持超高负载服务器的开发,带有相应客户端 SDKs。
|
未知
|
make
|
gRPC
|
现代开源高性能 RPC 框架,可运行于任何环境。(源码) (文档)
|
Apache-2.0
|
bazel, cmake, vcpkg
|
gsoap
|
XML 数据绑定、快速 WSDL/SOAP/XML 网络服务、WS 安全、 JSON/XML-RPC RESTful 服务的 C/C++ 开发工具套
|
GPLv2
|
|
hmbdc
|
轻便高性能 C++17 消息发布/订阅中间件框架/库
|
|
仅头文件
|
HTTPP
|
简单、C++14、生产就绪的构建在 Boost 上的 HTTP 服务器,及构建在 libcurl 上的客户端。
|
BSD 2-Clause "Simplified" License
|
cmake, make
|
IXWebSocket
|
无依赖的开源 WebSocket + HTTP 库,支持 SSL 和逐条消息 deflate 的 WebSocket 扩展。
|
BSD 3-Clause "New" or "Revised" License
|
cmake, make
|
KCP
|
快速可靠的 ARQ 协议,帮助应用减少网络延迟。
|
MIT
|
cmake
|
libashttp
|
异步 HTTP 客户端库
|
GNU Lesser General Public License v3.0
|
|
libjson-rpc-cpp
|
提供 C++ 跨平台 JSON-RPC(远程过程调用)支持的框架,完全兼容 JSON-RPC 2.0 & 1.0。
|
MIT
|
cmake, conan
|
libnavajo
|
C++ 框架,提供快速多线程 http 服务器,HTML5 WebSocket,SSL,X509 和 HTTP 认证、压缩、Cookie 和高级绘画管理,IPv4 和 IPv6(CeCILL-C)。
|
CeCILL-C FREE SOFTWARE LICENSE AGREEMENT
|
cmake
|
libtins
|
网络包装制作及嗅探库 (源码) (文档)
|
BSD-2
|
cmake, vcpkg
|
LiteNetLibPP
|
用于游戏的轻便可靠 UDP 库
|
MIT
|
cmake
|
mailio
|
MIME 和电子邮件库
|
BSD 2-Clause "Simplified"
|
cmake
|
nanomsg
|
快速消息队列,zeromq 接任者
|
|
|
netif
|
C++14 库,用于在 Windows、Linux 和 FreeBSD 上获取网络地址
|
BSD 3-Clause "New" or "Revised" License
|
cmake
|
nghttp2
|
HTTP/2 C 库及工具(服务器、客户端、代理和评测工具)
|
MIT
|
cmake, configure
|
ngrest
|
快速而简易的利用 JSON 的 RESTful Web 服务框架
|
Apache-2.0
|
cmake
|
nng
|
快速消息队列,nanomsg 继任者
|
|
|
Oat++
|
Web 框架: REST-API 和 Request 实现 (源码) (文档)
|
Apache 2.0
|
cmake
|
omniORB
|
最快速、完整而可移植的 CORBA ORB 在 C++ 中的实现
|
|
|
OpenDDS
|
数据分发服务 DDS (Data Distribution Service) 实现
|
|
|
Paho MQTT
|
现代 MQTT C++ 客户端,来自 Eclipse
|
|
cmake
|
paozhu
|
C++20 Web 框架,支持 HTTP/2 ORM WebSocket
|
MIT
|
cmake
|
PcapPlusPlus
|
多平台 C++ 网络嗅探和包装分析及制作框架。为许多流行的包处理引擎提供 C++ 包装,包括 libpcap, Npcap, WinPcap, DPDK, AF_XDP, 和 PF_RING。(源码)
|
Unlicense
|
conan, homebrew, cmake, vcpkg
|
POCO
|
网络:加密、HTTP;ZIP 文件 (文档)
|
|
|
rest_rpc
|
C++11,高性能,跨平台,简单易用的 rpc 框架
|
MIT
|
cmake
|
restbed
|
跨平台的功能丰富的框架,为 C++14 应用带来异步 RESTful 功能(HTTP 上的安全通信)。
|
许可协议
|
cmake
|
restc-cpp
|
C++ 访问 JSON API。HTTP 客户端,原生 C++ 类到/自 JSON 的序列化,利用 boost::asio 协程的异步 IO。C++14。
|
MIT
|
cmake
|
restful_mapper
|
于 C++ 中消费 RESTful JSON API 的 ORM
|
|
cmake, make
|
seastar
|
用 C++14/C++17 实现的高性能服务器端应用框架。
|
Apache-2.0
|
cmake, etc.
|
Silicon
|
Silicon C++14 Web 框架:快速而稳健的 Web API
|
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++17 编写的 libuv (跨平台异步 I/O)包装
|
MIT
|
cmake
|
WNetWrap
|
C++ WinInet 包装
|
MIT
|
|
wvstreams
|
C++ 网络库,包括 UniConf 和一个便利 D-Bus API
|
GPL
|
|
zeromq
|
快速消息队列
|
|
|
库名
|
简述
|
协议
|
配置手段
|
AdaptiveCpp
|
提供针对 NVIDIA,AMD 和 Intel 的 CPU 和 GPU 的 SYCL 和 C++ 并行 STL offloading 编译器
|
BSD-2-Clause
|
cmake
|
Asyncpp
|
一个异步 c++ 库,提供多种并发操作
|
MIT
|
cmake
|
BlockingCollection
|
C++11 线程安全、MPMC 阻塞队列、栈和优先级队列类
|
GPL-3.0
|
仅头文件
|
Boost.Atomic
|
提供原子数据类型和这些数据类型上的操作,以及用于利用原子变量协调多个线程所需的内存定序制约。
|
BSL-1.0
|
|
Boost.Compute
|
基于 OpenCL 的 C++ GPU/并行计算库。
|
BSL-1.0
|
cmake
|
Boost.Context
|
C++11 库,提供在单个线程上的协作多任务抽象。
|
BSL-1.0
|
|
Boost.Interprocess
|
提供许多简化进程间通信和同步机制使用的功能:共享内存、内存映射文件、信号量、互斥体、条件变量和可更新互斥体类型,具名版本的同步对象、文件锁、消息队列等。
|
BSL-1.0
|
|
Boost.Lockfree
|
提供无阻塞(即免锁)并发数据结构:队列、栈和循环缓冲区 (spsc_queue)。
|
BSL-1.0
|
|
Boost.MPI
|
C++ 友好的标准 消息传递接口 (MPI)
|
BSL-1.0
|
|
Boost.Thread
|
支持带有共享数据的多线程执行,并提供用于线程间同步数据的方法。
|
BSL-1.0
|
|
concurrencpp
|
C++ 的现代并发库。支持任务、执行器、定时器和 C++20 协程。
|
MIT
|
cmake
|
Cpp-Taskflow
|
带任务依赖的快速 C++ 并行编程
|
|
|
dispenso
|
C++ 的高性能并发。parallel_for, 未来 (future), 管线, 定时器, 定时/周期性任务, 以及并发数据结构。
|
MIT
|
cmake
|
Highway
|
提供性能可移植、长度无关的 SIMD/vector 指令。支持: SSE3, SSE4, AVX*, NEON, SVE*, WASM SIMD, RISC-V, POWER. (文档)
|
Apache-2.0
|
cmake
|
hipSYCL
|
|
BSD-2-Clause License
|
cmake
|
HPX
|
任何规模的并行和分布式应用的通用 C++ 运行时系统(文档)
|
BSL-1.0
|
cmake, vcpkg
|
Intel TBB
|
Intel® TBB 是一个用于共享内存并行编程和异构计算的跨平台 C++ 库。该库提供:通用并行算法,并发容器,规模可扩展的内存分配器,任务窃取任务调度器,以及低级同步原语。(源码) (文档)
|
Apache-2.0 或商用
|
cmake, make
|
KOKKOS
|
C++ 中的编程模型,用于书写高性能可移植的 HPC 应用,使用 CUDA, HIP, SYCL, HPX, OpenMP 和 C++ 线程为后端 (文档)
|
自定义
|
cmake, make
|
libopenmpi
|
Open MPI 项目是一种开源消息传递接口(MPI)实现
|
3-clause BSD
|
|
libsimdpp
|
可移植的零开销 C++ 低级 SIMD 库。
|
Boost
|
header-only; cmake
|
MPL
|
C++-17 友好的标准消息传递接口(MPI)
|
BSD 3-Clause "New" or "Revised"
|
仅头文件; cmake
|
MutexGear
|
仅使用互斥体的同步 C/C++ 库:轮子、读写锁、维持锁、工作队列
|
The MutexGear Library
|
configure, msvc, make
|
OpenMP
|
用于并行编程的 OpenMP API 规范
|
|
|
PoCL
|
OpenCL 标准的可移植开源 (基于 LLVM) 实现。(源码) (文档)
|
MIT
|
cmake
|
RaftLib
|
C++17 流式并发行为体(actor),可以进行并行数据流计算
|
Apache-2.0
|
cmake
|
SObjectizer
|
通过行为体和发布/订阅模型,简化开发 C++ 并发和事件驱动应用的小型框架。
|
BSD-3-Clause
|
cmake, vcpkg, conan
|
stdgpu
|
高效的 STL 风格的 GPU 数据结构
|
Apache 2.0
|
cmake
|
subprocess
|
用于运行子进程的 C++17/20 跨平台库
|
MIT
|
cmake, teaport
|
Taskflow
|
现代 C++ 并行任务编程
|
TASKFLOW MIT
|
cmake
|
task-thread-pool
|
C++11 的快速且轻便的线程池。
|
BSD-2-Clause 或 MIT 或 BSL-1.0
|
cmake, vcpkg, single header
|
ThreadPool
|
简单的轻型线程池
|
BSD-3-Clause
|
仅头文件; cmake, make
|
thread_pool
|
现代、快速、轻便线程池
|
MIT
|
cmake
|
Thrust
|
基于 CUDA、TBB 或 OpenMP 的仿 STL 并行算法及数据结构
|
Apache v2.0, Boost v1.0.
|
cmake
|
TimerAlarm
|
基于线程的定时器和闹钟。
|
BSD-3-Clause
|
仅头文件; cmake, make
|
VexCL
|
OpenCL、CUDA、OpenMP 的 C++ 向量表达式模板库
|
MIT
|
cmake
|
ViennaCL
|
带 OpenMP、CUDA 及 OpenCL 后端的线性代数及算法。(源码) (文档)
|
自定义
|
cmake
|
Xenium
|
C++17 库,提供多种并发数据结构和回收方案。
|
MIT
|
仅头文件; cmake
|
库名
|
简述
|
协议
|
配置手段
|
Argh!
|
极简化参数处理。
|
BSD 3-Clause
|
仅头文件; cmake, vcpkg
|
argparse (hbristow)
|
用于解析命令行参数的 C++ 类,具有与 python 的同名类相似的接口。
|
BSD
|
|
argparse (morrisfranken)
|
用于以优雅方式解析命令行参数的轻型库。
|
Apache 2
|
仅头文件; cmake
|
argparse (p-ranav)
|
用于 C++17 的命令行参数解析器。
|
MIT
|
仅头文件; cmake, vcpkg
|
args
|
简单的 C++ 参数解析器库。
|
MIT
|
仅头文件; cmake, conan, meson, vcpkg
|
Boost.Program_options
|
该库允许通过命令行、配置文件、环境变量等传统方式获得用户输入的(名称,值)对作为程序选项。
|
BSL-1.0
|
|
CLI11
|
C++11 命令行分析器,提供一组丰富功能和一个简单直观的接口。
|
BSD-3-Clause
|
仅头文件; cmake, meson, vcpkg
|
clipp
|
用于现代 C++ 的强大且有表达力的参数解析。
|
MIT
|
仅头文件; cmake, vcpkg
|
cmd_line_parser
|
用于 C++17 的命令行解析器。
|
MIT
|
仅头文件; cmake
|
cmdlime
|
用于命令行解析的 C++17 库,提供精简的声明式接口,并支持子命令,验证器,以及选择 GNU, POSIX, 或 X11 命令行选项格式的能力。
|
MS-PL
|
cmake
|
cxxopts
|
轻量级 C++11/C++17 命令行参数选项分析器,支持标准 GNU 风格的选项语法。
|
MIT
|
仅头文件; bazel, cmake
|
fire-hpp
|
使用函数签名创建全功能的 CLI。
|
BSL-1.0
|
仅头文件; cmake
|
flags
|
简单可扩展的 C++17 参数解析器。
|
Unlicense
|
仅头文件; cmake
|
gflags
|
实现了命令行参数选项处理的库。它包含对 string 等标准类型的自建支持,并可以在所使用的的源文件中定义参数选项。
|
BSD
|
cmake
|
structopt
|
通过定义结构体来解析命令行参数。
|
MIT
|
仅头文件; cmake
|
tclap
|
一个用于命令行参数选项分析的简洁的模板化的 C++ 库。该库提供简洁而灵活的面向对象接口。
|
MIT
|
cmake
|
库名
|
简述
|
协议
|
配置手段
|
ArduinoJson
|
用于 Arduino, IoT 和 嵌入式 C++ 的 C++98/11/14/17 JSON 库
|
MIT
|
cmake
|
Boost.JSON
|
C++11/17 的 JSON 解析、序列化和 DOM
|
BSL-1.0
|
|
cajun-jsonapi
|
JSON 的 C++ API,提供尽可能模仿标准 C++ 的直观精简的接口。
|
|
make
|
DAW JSON Link
|
提供带有类型检查的静态 C++ 绑定的 C++17 库,可以不进行库分配就直接分析用户数据,支持推/拉模型、分配器支持和 constexpr
|
BSL 1.0
|
cmake
|
Glaze
|
最快的 JSON 库之一,(C++23) 利用直接内存序列化。还支持 BEVE 和 CSV。
|
MIT
|
cmake, conan, build2, vcpkg
|
jansson
|
Jansson 是编码、解码及操纵 JSON 数据的 C 库,支持 UTF-8。
|
MIT
|
cmake, make
|
jeayeson
|
非常健全的 C++14 JSON 库
|
BSD-3
|
仅头文件
|
jios
|
JSON 输入输出流 (JSON Input Output Streams)
|
MIT
|
cmake
|
JOST
|
|
|
|
json
|
Niels Lohmann 的 C++11 JSON,提供直观语法
|
MIT
|
仅头文件; bazel, cmake, meson
|
Jsonifier
|
提供极快 JSON 解析/序列化功能的几个 C++20 类
|
MIT
|
cmake
|
JSON Voorhees
|
C++ 的杀手 JSON (文档
|
Apache-2.0
|
cmake)
|
JSON++
|
|
|
|
json-cpp
|
|
|
|
json11
|
json11 是 C++11 的轻量 JSON 库,提供 JSON 分析及序列化。
|
MIT
|
cmake
|
JsonBox
|
用于轻易且快速读写 JSON 的 C++ 库。
|
MIT
|
cmake
|
swxJson
|
目前使用最便利的C++JSON库。读写任何层级的复杂结构,只需一个函数调用。性能大概是RapidJSON的1/2。
|
MIT
|
make
|
jsoncons
|
JSON 与类 JSON 数据结构库,含 JSON Pointer、JSON Patch、JSONPath、CSV、MessagePack、CBOR、BSON、UBJSON。
|
自定义
|
仅头文件
|
jsoncpp
|
允许操作 JSON 值的库,包括序列化和反序列化,同时保留注释。
|
MIT
|
cmake, conan, vcpkg
|
jsonme--
|
|
|
|
libjson
|
|
|
|
minijson
|
C++ 无 DOM 且免分配的 JSON 分析及序列化
|
自定义
|
cmake
|
Neyson
|
轻量级 C++11 JSON 库
|
BSD-3-Clause
|
cmake
|
nosjob
|
用于生成和消费 JSON 数据的 C++98 库
|
MIT
|
make
|
qjson
|
|
|
|
rapidjson
|
C++ 的快速 JSON 分析器/生成器,同时提供 SAX/DOM 风格 API,支持 UTF-8/16/32,可以使用 SIMD。 (文档)
|
自定义
|
仅头文件; cmake, vcpkg
|
simdjson
|
每秒解析 GB 级别的 JSON,利用现代未加工和 SIMD 并行化的优势 (文档) (Kino)
|
Apache-2.0
|
cmake, vcpkg
|
struct_mapping
|
在 JSON 和 C++ 结构之间映射
|
MIT
|
cmake
|
swxJson
|
当前使用中最方便的 C++JSON 库。可以用一个函数调用在复杂结构中的任意层进行读写。性能大约有 RapidJSON 的一半。
|
MIT
|
make
|
ThorsSerializer
|
JSON/BSON/YAML 输入输出流
|
MIT
|
make
|
ujson
|
µjson 是小型的 C++11、UTF-8 JSON 库
|
cmake
|
|
yyjson
|
以 ANSI C 编写的高性能 JSON 库
|
MIT
|
cmake
|
zoolib
|
|
|
|
库名
|
简述
|
协议
|
配置手段
|
Boost.Bimap
|
双向映射库,提供 bimap<X,Y> 等关联容器,其中 X 和 Y 都可以用作键。(源码)
|
BSL-1.0
|
|
Boost.Container
|
实现多种周知容器的库,包括标准库式容器,递归容器,以及新的有用容器:flat_map , flat_set , flat_multimap , flat_multiset , stable_vector , static_vector , small_vector , devector . (源码)
|
BSL-1.0
|
仅头文件
|
Boost.Fusion
|
用于处理 元组 的异质集合的库。它提供一组容器(vector , list , set 和 map ),以及对它们底层数据的变换表示方法,即 视图。 (源码)
|
BSL-1.0
|
|
Boost.Heap
|
一种 优先级队列 实现,提供比标准库更丰富的功能和不同的性能特性。 (源码)
|
BSL-1.0
|
|
Boost.Pointer Container
|
提供以异常安全的方式和最小开销持有 堆分配对象 的容器。(源码)
|
BSL-1.0
|
|
Boost.Tuple
|
实现 C++11 前的 n-tuple (固定大小的元素集合) (源码)
|
BSL-1.0
|
|
Boost.Variant
|
实现 C++17 前的 variant (安全、通用、基于栈的可区分 union 容器) (源码)
|
BSL-1.0
|
|
C++ Allocators
|
遵循标准库的分配器,用于固定大小的静态和基于栈的内存 + 另一种遵循标准的自定义分配边界的分配器
|
BSD-3-Clause
|
cmake, make
|
cpp-btree
|
更好利用 CPU 缓存的 B-树容器:btree_map , btree_set , btree_multimap , btree_multiset 。(源码)
|
Apache-2.0
|
仅头文件; cmake
|
DataFrame
|
用于统计、金融和机器学习分析的 C++ DataFrame —— 现代 C++ 中使用原生类型、连续内存存储,且无虚函数的 R 与 Pandas 数据框架。
|
BSD-3-Clause
|
cmake, make, conan, vcpkg
|
eggs::variant
|
Eggs.Variant 是 C++11/14 的泛型、线程安全的可区分联合体。值得注意的是它有很好的 constexpr 支持。
|
BSL-1.0
|
cmake
|
Frozen
|
C++14 的 constexpr 基于完美散列的不可变集合、映射与算法。
|
Apache-2.0
|
仅头文件; cmake
|
Immer
|
持久且不可变数据结构
|
Boost
|
cmake
|
plf::colony
|
无序的“类背包”容器,在高度修改场景中性能优于 std:: 容器,同时维护指向未被擦除元素的合法指针,无关乎插入或擦除。C++98/11/14/等 兼容。另见 P0447 (std::hive ). (源码)
|
zlib
|
conan build2
|
plf::list
|
std::list 实现,为缓存友好牺牲范围切割,导致更快的插入、擦除和迭代。C++98/03/11/14/17/20/23/26/等 兼容。(源码) (文档)
|
zlib
|
—
|
plf::reorderase
|
对随机访问容器扩展并优化的 "swap-and-pop"/"move-and-pop" 手法,以提高擦除后顺序不重要场合下随机访问容器的擦除性能。涵盖单元素,范围,和 std::erase_if 风格的擦除。C++98/11/14/等兼容。(源码)
|
zlib
|
|
plf::queue
|
对 std::queue 容器适配器的就地替换容器,在队列上下文中具有比 std::deque 和 std::list 更好的性能。C++98/11/14/等兼容。(源码)
|
zlib
|
|
plf::stack
|
std::stack 容器适配器的就地替换容器,在栈上下文中有优于 std::vector 和 std::deque 的性能。C++98/11/14/等兼容。(源码)
|
zlib
|
|
ring_span
|
Guy Davidson 与 Arthur O'Dwyer 的 ring_span ——即环状缓冲区视图的简化实现。C++98- 兼容。
|
BSL-1.0
|
仅头文件; cmake
|
strict_variant
|
实时/嵌入式友好(即 -fno-exceptions /-fno-rtti 兼容)的,决不空的 variant ,目标 C++11。阻止许多不想要的隐式转换。
|
BSL-1.0
|
cmake
|
tiny::optional
|
std::optional 的替代品,可通过使用哨位值消除存储开销。
|
BSL-1.0
|
cmake
|
TdhLists
|
|
|
|
Ygg
|
高性能容器和数据结构,例如红黑树、区间树和区间映射的侵入式 C++11 实现。
|
MIT
|
仅头文件; cmake
|
库名
|
简述
|
协议
|
配置手段
|
Boost::MySQL
|
MySQL 客户端库
|
BSL-1.0
|
|
cpp-redis
|
C++11 轻量的 Redis 客户端:异步、线程安全、无依赖、管道化、多平台。(文档)
|
MIT
|
cmake
|
DTL
|
使 ODBC 记录集看起来如 STL 容器一样 (源码) (文档)
|
|
|
EasyQtSql
|
轻量 C++11 库(基于 Qt)快速便捷地进行 SQL 查询
|
MIT
|
仅头文件; qmake
|
Galera
|
Galera 集群是面向 MySQL/MariaDB 的同步多主库复制库 (Galera) 和 Write Set Replication (WSREP) API (源码)
|
GPLv2
|
cmake, scons
|
LevelDB
|
谷歌开发的、能够处理十亿级别规模 Key-Value 型数据持久性存储的C++ 程序库。(文档)
|
BSD-3
|
cmake
|
libpqxx
|
PostgreSQL 的 C++ 连接器 (源码)
|
BSD-3
|
cmake, make
|
lmdb++
|
LMDB 嵌入式 B+ 树数据库的 C++11 包装。
|
Unlicense
|
make
|
mongocxx
|
MongoDB 的官方 C++11 驱动库 (文档)。提供 CRUD 操作、索引和聚合的优化的 API。支持 BSON、连接池和认证机制。它为构建利用 MongoDB 的 C++ 应用提供了高性能和可缩放容量的解决方案。
|
Apache 2.0
|
cmake
|
mysql++
|
MySQL DB 及其工具
|
|
|
nanodbc
|
本机 C ODBC API 的小型跨平台 C++14 包装
|
MIT
|
cmake
|
ODB
|
C++ 的开源、跨平台且跨数据库的对象关系映射 (ORM) 系统。ODB 支持 MySQL, SQLite, PostgreSQL, Oracle, 和 Microsoft SQL Server 关系数据库,以及 C++98/03 和 C++11 语言标准。
|
GPL2 和/或 NCUEL
|
|
OTL
|
基于 C++ 模板的数据库支持库,Oracle DB, ODBC 和 DB2-CLI. (源码)
|
|
|
Pgfe
|
现代 C++ 的 PostgreSQL 客户端 (FrontEnd) API
|
Zlib License
|
cmake
|
QTL
|
易用且轻型的 C++ 数据库支持库,支持 MySQL, SQLite 和 ODBC.
|
Apache-2.0
|
make
|
QUINCE
|
QUeries IN C++ Expressions (ORM+EDSL)
|
Boost
|
|
QxOrm
|
C++/Qt 对象关系映射 (ORM) 数据库支持库,支持大多数常见数据库,序列化 (JSON, binary, XML); 独立的多线程 HTTP web server
|
GPLv3 或私有
|
|
redis-cpp
|
用于执行 Redis 命令的轻量级 C++17 客户端库。
|
MIT
|
仅头文件; cmake
|
redis-plus-plus
|
用 C++ 11 编写的 Redis 客户端, 支持 Redis Sentinel,Redis Cluster,管道,事务,发布订阅,连接池以及类似于 STL 的接口
|
Apache-2.0
|
cmake
|
SOCI
|
基于插件的数据库支持库,在普通 C++ 代码中嵌入 SQL 查询;支持的后端有:DB2, Firebird, MySQL, ODBC (通用后端), Oracle, PostgreSQL, SQLite3. (源码) (文档)
|
Boost
|
cmake
|
SQLAPI++
|
C++ 数据库中间件库,支持多种 SQL 数据库系统:Oracle, SQL Server, DB2, Sybase, MySQL, PostgreSQL, SQLite, Informix, InterBase / Firebird, SQLBase, SQL Anywhere, ODBC, MariaDB. (源码) (文档)
|
自定义
|
make
|
SQLiteCPP
|
精巧且易用的 C++ SQLite3 包装。
|
MIT
|
cmake, meson, vcpkg
|
SQLite ORM
|
SQL 的嵌入式领域特定语言 (EDSL), 支持 SQLite, 用于现代 C++.
|
AGPL-3.0, MIT
|
仅头文件; cmake, vcpkg
|
sqlpp11
|
C++ 类型安全的用于 SQL 查询和结果的嵌入式领域特定语言。
|
BSD-2
|
cmake
|
taoPQ
|
轻量级 C++17 PostgreSQL 客户端库
|
Boost
|
cmake
|
库名
|
简述
|
协议
|
配置手段
|
Abseil
|
Google 设计以补足 C++ 标准库的开源 C++ 库代码汇集。(文档) (源码)
|
Apache-2.0
|
cmake
|
Abstract Intrusive Containers
|
比 boost::intrusive 更灵活,但非 STL 兼容。
|
|
|
Au
|
C++14 兼容的物理单位库,无依赖,强调安全性、可访问性和性能。(文档)
|
Apache 2.0
|
header-only
|
BDE
|
来自 Bloomberg L.P. 的 Bloomberg Development Environment 核心库
|
Apache
|
|
Better Enums
|
反射性枚举(枚举到字符、迭代等),带 constexpr 支持。
|
BSD-2
|
仅头文件, cmake, make
|
bitfield.h
|
位域结构设施,比基础语言设施更可移植/灵活。
|
|
|
Boost
|
大量通用库的汇集
|
BSL-1.0
|
|
CAF
|
C++ Actor Framework (CAF) 是开源的 C++11 行动者模型实现,特性为轻量而快速的行动者实现、消息的模式匹配、网络不可见消息传递及更多
|
BSD
|
|
Cinder
|
社区开发的自由开源库,用于专业质量的 C++ 创造性编程。(文档) (源码)
|
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 及文本分析、数值优化、贝叶斯网络和大量其他任务
|
Boost
|
|
eventpp
|
C++ 事件库,提供回调、事件派发和事件队列。使用 eventpp,你可以轻易实现信号-插座机制,发布者-订阅者模式,或观察者模式。
|
Apache 2.0
|
|
fcppt
|
Freundlich 的 C++ 工具套 (fcppt) 是聚焦于通过提供更好的类型和函数式编程改进 C++ 代码的库汇集。
|
|
|
Folly
|
Facebook 开源库。设计带有构思中的实践性和效率设计的 C++14 组件的跨平台库。(文档)
|
Apache-2.0
|
cmake, vcpkg
|
GSL
|
C++ 核心方针支持库的实现,为 Bjarne Stroustrup, Herb Sutter 和 Co 在《C++ 核心方针》中推荐
|
MIT
|
cmake, vcpkg
|
gsl-lite
|
C++98、C++11 及后续版本的 ISO C++ 方针支持库 (GSL) 的一个版本。
|
MIT
|
仅头文件
|
GUL14
|
来自 DESY 的 C++14 通用工具库: 常用工具函数和类型,包括字符串工具,统计和数值函数,容器,调试方法,等等。(源码)
|
LGPL-2.1
|
meson, vcpkg
|
History
|
现代 C++17 Undo/Redo 框架
|
Unlicense
|
|
hspp
|
实验性库,为 C++ 带来 Haskell 风格的编程
|
Apache-2.0
|
仅头文件
|
IP-DOS (tm)
|
IdeaFarm (tm) Piggyback 分布式操作系统: 一种 C++ 语言的通用编程环境。
|
私有,开源
|
Open Watcom 2.0
|
JUCE
|
扩展性的成熟跨平台 C++ 工具套
|
GPL
|
|
Kangaru
|
C++11 与 C++14 的依赖注入容器
|
MIT
|
|
Kerbal
|
将现代 STL 设施向后移植到之前版本的标准中。更多功能,更多 constexpr!
|
LGPL-3.0
|
仅头文件; cmake
|
libsourcey
|
高速网络化和多媒体编码的跨平台 C++14 库。HTTP 、WebSockets、TURN、STUN、Symple 及更多……
|
LGPL-2.1
|
cmake
|
LLNL/units
|
用于测量单位和其间转换,以及测量单位的字符串表示的运行时库
|
BSD 3-Clause "New" or "Revised" License
|
CMake
|
Loki
|
C++ 的设计模式库,包含常见设计模式和手法的灵活实现
|
MIT
|
make
|
match(it)
|
C++17 的轻量级模式匹配库,提供无宏 API
|
Apache-2.0
|
仅头文件
|
nonstd-lite
|
*-lite 仓库的亲属(比如 span-lite, scope-lite, expected-lite),包含一些提案或已标准化的 C++17/20/23 库类型的 C++98/11 实现,比如 std::span, std::expected 等。
|
BSL-1.0
|
仅头文件
|
nytl
|
通用的 C++17 工具模板库。
|
BSL-1.0
|
仅头文件
|
OnPosix
|
在 POSIX 平台上提供各种抽象(例如线程、网络化、日志、 IPC 等)的 C++ 库。
|
|
|
Reason
|
XML、xpath、正则表达式、线程、套接字、HTTP、SQL、日期时间、流、编码与解码、文件系统、压缩
|
GPL
|
|
SaferCPlusPlus
|
SaferCPlusPlus - 不安全的 C++ 原始工具的安全兼容替换品,包括指针、int 和 std::vector。
|
Boost
|
|
Smart Enum
|
给你的枚举 "to_string "、"from_string " 和更多。
|
BSL-1.0
|
cmake
|
units
|
编译时的量纲分析及单位转换库,建立于 C++14 而无依赖。
|
MIT
|
仅头文件
|
|