精选的 C++(或 C)框架、库、资源和闪亮的东西。灵感来自 awesome-...东西。
C++ 标准库 - 包括 STL 容器、STL 算法、STL 函数等。
C++ 标准库 - 类和函数的集合,以核心语言编写,是 C++ ISO 标准本身的一部分。
标准模板库 - 标准模板库 (STL)。
C POSIX 库 - 用于 POSIX 系统的 C 标准库的规范。
ISO C++ 标准委员会 - ISO/IEC JTC1/SC22/WG21 - C++ 标准委员会。网站
GNU C 库 - 本手册的目的是告诉您如何使用 GNU C 库的功能。
C++ 通用框架和库。
abseil-cpp - Abseil C++ 公共库。[阿帕奇2]
Apache C++ 标准库 - STDCXX,算法、容器、迭代器和其他基本组件的集合。[已退休][阿帕奇2]
APR - Apache 可移植运行时。另一个跨平台实用程序函数库。[阿帕奇2]
ASL - Adobe Source Libraries 提供经过同行评审的可移植 C++ 源库。[麻省理工学院]
AUI - 适用于 C++20 的声明式 UI 工具包。[MPL2]
Boost ⚡ - 大量通用 C++ 库。[提升]网站
BDE - 来自 Bloomberg Labs 的 BDE 开发环境。[阿帕奇2]
C++ 工作流 ⚡ - C++ 并行计算和异步网络引擎。[阿帕奇2]
CGraph - 基于 C++ 的跨平台 DAG 框架,没有任何第三方。[麻省理工学院]
Cinder - 一个社区开发的免费开源库,用于专业品质的创意编码。[BSD]
Coost - C++11 中的一个小型 boost 库。[麻省理工学院]
Cxxomfort - 一个小型的、仅限头文件的库,可向后移植从较新的 C++ 标准到 C++03 及更高版本的各种工具。[麻省理工学院]
Dlib ⚡ - 用于使用 C++ 制作真实世界机器学习和数据分析应用程序的工具包。[提升]网站
EASTL - Electronic Arts 标准模板库。[BSD]
ETL - 嵌入式模板库。[麻省理工学院]
ffead-cpp - 企业应用程序开发框架。[阿帕奇2]
Folly - 在 Facebook 开发和使用的开源 C++ 库。[阿帕奇2]
FunctionalPlus - 用于 C++ 的函数式编程库。编写简洁易读的 C++ 代码。[麻省理工学院]
GLib - GLib 为用 C 语言编写的库和应用程序提供核心应用程序构建块。
itlib - 类似 std 的单头 C++ 库的集合 [MIT]
JUCE - 一个包罗万象的 C++ 类库,用于开发跨平台软件。[核心模块:ISC,其余部分:GPL2/GPL3/专有]网站
Kigs 框架 - 一个免费的开源 C++ 模块化多用途跨平台 RAD 框架。[麻省理工学院]网站
libPhenom - libPhenom 是一个事件框架,用于用 C 语言构建高性能和高可扩展性的系统 [Apache2]
LibSourcey - C++11 事件 IO,用于实时视频流和高性能网络应用程序。[LGPL]
LibU - 用 C 语言编写的多平台实用程序库 [BSD]
libxutils - 简单而强大的跨平台 C 库,提供数据结构、算法等。[麻省理工学院]
Loki - 一个 C++ 设计库,包含常见设计模式和惯用语的灵活实现。[麻省理工学院]
MiLi - 最小的仅头文件 C++ 库。[提升]
OpenFrameworks - 用于 C++ 创意编码的跨平台开源工具包。[麻省理工学院]网站
Qt ⚡ - 跨平台应用程序和 UI 框架。[GPL/LGPL/专有]网站
原因 - 一个跨平台框架,旨在为需要 C++ 性能和强度的开发人员提供 Java、.Net 或 Python 的易用性。[GPL2]
ROOT - 一组 OO 框架,具有以非常有效的方式处理和分析大量数据所需的所有功能。在 CERN 使用。[LGPL]
rpp - 受 Rust 启发的最小 C++20 STL 替换。[麻省理工学院]
SaneCppLibraries - 一组适用于 macOS、Windows 和 Linux 的 C++ 平台抽象库。[麻省理工学院]网站
Seastar - 一个先进的开源 C++ 框架,适用于现代硬件上的高性能服务器应用程序。[Apache-2.0 许可证]seastar.io
Siv3D - Siv3D (OpenSiv3D) 是一个用于创意编码(2D/3D 游戏、媒体艺术、可视化工具和模拟器)的 C++20 框架。[麻省理工学院]网站
STLport - STL 的示例版本。[免费]
STXXL - 用于超大型数据集的标准模板库。[提升]
tbox - 一个类似 glib 的多平台 c 库。[阿帕奇2]网站
Ultimate++ - 一个 C++ 跨平台的快速应用程序开发框架。[BSD]
Windows 模板库 - 用于开发 Windows 应用程序和 UI 组件的 C++ 库。[公开]
Yomm2 - 快速、正交、开放多方法。取代 Yomm11 [Boost]
ANNetGPGPU - 基于 GPU (CUDA) 的人工神经网络库。[LGPL]
btsk - 游戏行为树初学者工具包。[zlib]
Evolving Objects - 一个基于模板的 ANSI-C++ 进化计算库,可帮助您以极快的速度编写自己的随机优化算法。[LGPL]
frugally-deep - 用于在 C++ 中使用 Keras 模型的仅标头库。[麻省理工学院]
Genann - C 语言的简单神经网络库 [zlib]
MXNet - 轻量级、可移植、灵活的分布式/移动深度学习,具有动态、突变感知的 Dataflow Dep Scheduler;适用于 Python、R、Julia、Scala、Go、JavaScript 等。网站
PyTorch - Python 中的张量和动态神经网络,具有强大的 GPU 加速。网站
flashlight - Flashlight 是一个完全用 C++ 编写的快速、灵活的机器学习库。[BSD]
重铸/绕行 - (3D) 导航网格生成器和路径查找器,主要用于游戏。[zlib]
TensorFlow - 一个开源软件库,用于使用数据流图进行数值计算。[阿帕奇]
oneDNN - 用于深度学习应用程序的开源跨平台性能库。[阿帕奇]网站
CNTK - Microsoft 认知工具包 (CNTK),一种开源深度学习工具包。[提升]
tiny-dnn - C++11 中仅标头、无依赖项的深度学习框架。[BSD]
Veles - 用于快速深度学习应用程序开发的分布式平台。[阿帕奇]
Kaldi - 语音识别工具包。[阿帕奇]
Asio - 一个跨平台的 C++ 库,用于网络和低级 I/O 编程,使用现代 C++ 方法为开发人员提供一致的异步模型。[提升]网站
Boost.Asio - 用于网络和低级 I/O 编程的跨平台 C++ 库。[提升]网站
C++ Actor 框架 - C++ 中 Actor 模型的开源实现。[BSD-3-条款]网站
Ichor - 一个事件队列,专注于线程安全并提供依赖注入。[麻省理工学院]
libev - 一个功能齐全的高性能事件循环,松散地模仿了 libevent,但没有其限制和错误。[BSD 和 GPL]
libevent - 事件通知库。[BSD]
libhv - 跨平台事件循环库。[BSD]
libuv - 跨平台异步 I/O。
promise-cpp - 实现 Promise/A+ 标准的仅标头库。[反 996]
uvw - libuv 的 C++ 包装器。[麻省理工学院]
UV-CPP - 一个简单的接口,基于 C++11 的高性能网络库。[麻省理工学院]
音频、声音、音乐、数字化语音库
Amplitude Audio SDK - 一个跨平台的音频引擎,在设计时充分考虑了游戏的需求。[Apache-2.0] 网站
Aubio - 用于音频和音乐分析的库。[GPL-3.0] 网站
AudioFile - 用于读取和写入音频文件的简单 C++ 库。[麻省理工学院]
audioFlux - 一个用于音频和音乐分析、特征提取的 C 库。[麻省理工学院]
dr_libs - 适用于 C 和 C++ 的单文件音频解码库。[取消许可]
FMOD - 一个易于使用的跨平台音频引擎和游戏音频内容创建工具。[非商业/商业免费]
KFR - 快速、现代的 C++ DSP 框架、FFT、FIR/IIR 滤波器、采样率转换。[GPL/专有]
LAME - LAME 是一种高质量的 MPEG 音频第 III 层 (MP3) 编码器。[LGPL]
libsndfile - 带有 C++ 包装器的 C 库,用于通过一个标准库接口读取和写入包含采样声音的文件。[LGPL-2.1] 网站
libsoundio - 用于跨平台实时音频输入和输出的 C 库。[麻省理工学院]网站
Maximilian - C++ 音频和音乐 DSP 库。[麻省理工学院]
OpenAL – 开放音频库 – 跨平台音频 API。[BSD/LGPL/专有]
miniaudio - 单文件音频播放和捕获库。[取消许可]网站
ni-media - 用于读取和写入音频文件的 C++ 库。[麻省理工学院]
Opus - 一个完全开放、免版税、高度通用的音频编解码器。[BSD]
PortAudio - PortAudio 是一个免费的跨平台开源音频 I/O 库。[麻省理工学院]
rnnoise - 用于音频降噪的递归神经网络。[BSD-3-条款]
SELA - SimplE 无损音频。[麻省理工学院]
SoLoud - 用于游戏的简单、便携的音频引擎。[zlib]
Speex - 用于言论自由的免费编解码器。被 Opus 废弃。[BSD]
Tonic - 使用 C++ 进行简单高效的音频合成。[取消许可]
Vorbis - Ogg Vorbis 是一种完全开放、非专有、免专利和版税的通用压缩音频格式。[BSD]
minimp3 - 具有无尘室实现的公共域仅标头 MP3 解码器。[CC0]
Verovio - Verovio 是一个快速轻量级的音乐记谱雕刻库。[LGPL]网站
Wav2Letter++ - 公共域,一个完全用 C++ 编写的快速开源语音处理工具包,并使用 ArrayFire 张量库和手电筒机器学习库来实现最高效率。[BSD]
生物信息学, 基因组学, 生物技术
BioC++ - 用于生物信息学的 C++ 计算库。[BSD]
Chaste - 一个开源 C++ 库,用于对为生理学和生物学开发的数学模型进行计算模拟。[BSD]
libsequence - 一个 C++ 库,用于表示和分析群体遗传学数据。[GPL]
SeqAn - 用于分析序列的算法和数据结构,重点是生物数据。[BSD/3 条款]
Vcflib - 用于解析和操作 VCF 文件的 C++ 库。[麻省理工学院]
Wham - 通过直接对 BAM 文件应用关联测试来研究基因组中的结构变异 (SV)。[麻省理工学院]
jech/dht - C 语言的 BitTorrent DHT 库 [MIT]
libtorrent (又名 libtorrent-rasterbar) - 一种功能齐全的高效 C++ bittorrent 实现。[BSD]
LibTorrent (又名 libtorrent-rakshasa) - BitTorrent 库。[GPL]
libutp - uTorrent 传输协议库。[麻省理工学院]
化学, 量子化学, 固体化学/物理, 地球化学, 生物化学
d-SEAMS - 使用 Nix 的 C++ 和 Lua 的分子动力学轨迹分析引擎。它是 Deferred Structural Elucidation Analysis for Molecular Simulations 的首字母缩写词。[GPL]网站
gromacs - 消息传递并行分子动力学实现。[GPL]网站
Reaktoro - C++ 和 Python 中的计算框架,用于对化学反应系统进行建模。[LGPL]网站
LAMMPS - 一种经典的分子动力学代码,侧重于材料建模。它是 Large-scale Atomic/Molecular Massively Parallel Simulator 的首字母缩写词。[GPL]网站
MADNESS - 用于科学模拟的多分辨率自适应数值环境。[GPL]网站
MPQC - 大规模并行量子化学程序 MPQC 使用与时间无关的薛定谔方程根据第一性原理计算原子和分子的性质。[GPL]网站
ORCA - 包含现代电子结构方法的 ab initio 量子化学程序包。[学术]网站
Psi - 一个 ab initio 计算化学包。[GPL]网站
控制台/终端用户界面、命令行界面
啊!- 一个极简、无挫折、仅限 header 的参数处理程序。[BSD]
argparse - 现代 C++ 的参数解析器。[与]
args - 一个简单的仅标头 C++ 参数解析器库。[麻省理工学院]
barkeep - 用于显示异步动画、计数器和进度条的小型 C++ 标头。[Apache-2.0] 网站
Boost.Program_options - 通过常规方法(如命令行和配置文件)获取程序选项的库。[提升]网站
cli - 一个跨平台的仅限标头的 C++14 库,用于交互式命令行界面(Cisco 样式)。[提升]
CLI11 - 仅标头单文件或多文件 C++11 库,用于简单和高级的 CLI 解析。[BSD]
clipp - 易于使用、功能强大且富有表现力的 C++11/14/17 命令行参数处理包含在单个头文件中。[麻省理工学院]
cpp-terminal - 用于编写多平台终端应用程序的仅小头 C++ 库。[麻省理工学院]
Ctrl+C - 跨平台 C++11 库,用于处理自定义函数中的 Ctrl+C 事件。[麻省理工学院]
cxxopts - 轻量级 C++ 命令行选项解析器。[与]
docopt.cpp - 用于从文档字符串生成选项解析器的库。[MIT/Boost]
FINAL CUT - 用于创建具有基于文本的 Widget 的终端应用程序的库。[LGPL]
FTXUI - C++ 功能终端用户界面。[麻省理工学院]
gflags - C++ 的命令行标志模块。[BSD]
imtui - 即时模式基于文本的用户界面。[麻省理工学院]
indicators - 现代 C++ 的活动指标。[麻省理工学院]
linenoise - readline 和 libedit 的小型独立替代方案。[BSD-2-条款]
linenoise-ng - 一个小型的、可移植的 GNU readline 替代品,用于 Linux、Windows 和 MacOS,能够处理 UTF-8 字符。[BSD]
Lyra - 一款简单易用的可组合命令行解析器,适用于 C++ 11 及更高版本。[提升]
Ncurses - 终端用户界面。[麻省理工学院]
oof - 用于控制台输出的便捷、高性能 RGB 颜色和位置控制。[麻省理工学院]
PDCurses - 公共域 curses 库,提供源代码和预编译库。[公共域]
popl - 适用于 C++ 11 及更高版本的单头模板化命令行参数和 ini 文件解析器。[麻省理工学院]
replxx - 支持 UTF-8、语法高亮、提示的 readline 和 libedit 替代品,适用于 Unix 和 Windows。[BSD]
tabulate - 适用于现代 C++ 的表格制作工具。[麻省理工学院]
TCLAP - 一个成熟、稳定且功能丰富的库,用于定义和访问 ANSI C++ 中的命令行参数。[麻省理工学院]
termbox - 用于编写基于文本的用户界面的 C 库。[麻省理工学院]
TermOx - C++17 终端用户界面 (TUI) 库。[麻省理工学院]
tuibox - 一个单头终端 UI (TUI) 库,能够在命令行上创建鼠标驱动的交互式应用程序。[麻省理工学院]
压缩和存档库
bit7z - 一个 C++ 静态库,为 7-zip 共享库提供了一个简洁明了的接口。[MPL2]
Brotli - Brotli 压缩格式。由 Google 开发。[麻省理工学院]
bzip2 - 一个免费提供的、无专利的高质量数据压缩器。[BSD]
bzip3 - BZip2 更好、更强的属灵继承者。[LGPL]
FastLZ - 小型且便携的字节对齐LZ77压缩。[麻省理工学院]
FiniteStateEntropy - 新一代熵编解码器:有限状态熵和 Huff0。
heatshrink - 用于嵌入式/实时系统的数据压缩库 [ISC]
Kanzi - 一种以 C++ 实现的现代、模块化、可移植且高效的无损数据压缩器。[阿帕奇-2.0]
KArchive - 用于创建、读取、写入和操作文件存档(如 zip 和 tar)的库。它还通过 QIODevice 的子类使用 gzip 等格式提供透明的数据压缩和解压缩。[LGPL]
libarchive - 多格式存档和压缩库。[新 BSD]网站
LZ4 - 极速压缩算法。[BSD]网站
LZFSE - LZFSE 压缩库和命令行工具。由 Apple 开发。
LZHAM - 无损数据压缩库,压缩率与 LZMA 相似,但解压缩速度要快得多。[BSD]
LZMA ⚡ - 7z 格式的默认和常规压缩方法。[公共域]网站
LZMAT - 一个极快的实时无损数据压缩库。[GPL]
miniz - 单个 C 源文件 Deflate/Inflate 压缩库,具有与 zlib 兼容的 API、ZIP 存档读/写、PNG 写入。[麻省理工学院]
Minizip - Zlib 具有最新的错误修复,支持 PKWARE 磁盘跨区、AES 加密和 IO 缓冲。[zlib]
minizip-ng - zlib 发行版中流行的 zip 操作库的分支。[zlib]
PhysicsFS - 一个提供对各种存档的抽象访问的库。它旨在用于视频游戏,其设计在某种程度上受到了 Quake 3 的文件子系统的启发。[zlib]
rapidgzip - 适用于现代多核计算机的 gzip 解压缩和随机访问。[阿帕奇-2/麻省理工学院]
smaz - 小字符串压缩库。[BSD]
Snappy - 快速压缩器/解压缩器。[BSD]
ZLib - 一个非常紧凑的数据流压缩库。[zlib]
zlib-ng - zlib 用于“下一代”系统。通过一些重大优化进行直接替换。[zlib]
zstd - Zstandard - 快速实时压缩算法。由 Facebook 开发。[BSD]
ZZIPlib - 提供对 ZIP 存档的读取访问权限。[MPL/LGPL]
并发和多线程
alpaka - 用于并行内核加速的抽象库。[LGPLv3+]
ArrayFire - 通用 GPU 库。[BSD]
Async++ - 适用于 C++11 的轻量级并发框架,其灵感来自 Microsoft PPL 库和 N3428 C++ 标准提案。[麻省理工学院]
Boost.Compute - 用于 OpenCL 的 C++ GPU 计算库。[提升]网站
Bolt - 针对 GPU 优化的 C++ 模板库。[阿帕奇2]
BS::thread_pool - 快速、轻量级且易于使用的 C++17 线程池库 [MIT]
Channel - 用于在线程之间共享数据的线程安全容器。[麻省理工学院]
ck - 并发基元、安全内存回收机制和非阻塞数据结构。[BSD]
concurrentqueue - 适用于 C++11 的快速多生产者、多使用者无锁并发队列。[BSD,Boost]
Coros - 一个易于使用且快速的库,用于利用协程实现基于任务的并行性。[BSL-1.0]
CUB - CUB 为 CUDA 编程模式的每一层提供最先进的、可重用的软件组件。[新 BSD]
cuda-api-wrappers - 用于 CUDA GPU 编程运行时 API 的轻量级现代 C++ 包装器。[BSD]
cupla - 在 OpenMP、Threads、TBB 上运行 CUDA/C++ 的 C++ API......通过 Alpaka。[LGPLv3+]
C++React - 用于 C++11 的反应式编程库。[提升]
FiberTaskingLib - 基于任务的多线程库,支持具有任意依赖关系的任务图。[阿帕奇]
HPX - 适用于任何规模的并行和分布式应用程序的通用 C++ 运行时系统。[提升]
Intel Games Task Scheduler - 专为满足游戏开发人员的需求而设计的任务调度框架。[麻省理工学院]
英特尔并行 STL - 面向 C++11 及更高版本的英特尔® C++17 STL 实施。[阿帕奇2]
Intel TBB - Intel® 线程构建块。[阿帕奇2]
junction - C++ 中的并发数据结构库。[BSD]
Kokkos - 用于并行执行和内存抽象的性能可移植编程模型。[BSD]
libcds - 并发数据结构的 C++ 库。[BSD]
Libclsph - 基于 OpenCL 的 GPU 加速 SPH 流体模拟库。[麻省理工学院]
libdill - 在 C 语言中引入结构化并发。
libdispatch - Grand Central Dispatch (GCD) 是由 Apple Inc. 开发的一种基于线程池模式的任务并行技术。libdispatch 是一个提供 GCD 服务实现的库。[Apache-2.0] 网站
libfork - 基于 C++20 的协程构建的前沿、无锁、免等待、延续窃取任务库。[MPL-2.0] 网站
libmill - 在 C 语言中引入 Go 风格的并发 [MIT]
Marl - Marl 是用 C++ 11 编写的混合线程/纤程任务调度器。[阿帕奇-2.0]
ModernGPU - ModernGPU 是一个用于 GPU 上的通用计算的生产力库。它是为 CUDA 编写的仅限头球的 C++ 库。该库的独特价值在于其用于解决不规则并行问题的加速基元。[FreeBSD和版权,Sean Baxter]
NCCL - 针对集体多 GPU 通信优化的基元。[BSD]
Neco - C 语言(协程)的并发库。[麻省理工学院]
OpenCL - 异构系统并行编程的开放标准。
OpenMP - OpenMP API。
rotor - 事件循环友好的 C++ 角色微框架。[麻省理工学院]
SObjectizer - 在一个相当小的 C++ 框架中实现 Actor、Publish-Subscribe 和 CSP 模型。[BSD-3-条款]
Quantum - 基于 Boost.Coroutine2 构建的强大 C++ 协程调度程序框架。
RaftLib - RaftLib C++ 库,通过类似 C++ iostream 的运算符进行流式处理/数据流并发。[阿帕奇2]
readerwriterqueue - 适用于 C++ 的快速单生产者、单使用者无锁队列。[BSD]
stdgpu - GPU 上的高效 STL 类数据结构。[阿帕奇2]
Taskflow - 一个通用的并行和异构任务编程系统。(从 Cpp-Taskflow 重命名)[麻省理工学院]
ThreadPool - 一个简单的 C++11 线程池实现 [zlib]
Thrust - 类似于 C++ 标准模板库 (STL) 的并行算法库。[阿帕奇2]
transwarp - 用于任务并发的仅标头 C++ 库。[麻省理工学院]
VexCL - 用于 OpenCL/CUDA 的 C++ 向量表达式模板库。[麻省理工学院]
STAPL - 一种 C++ 并行编程框架,旨在同时在共享和分布式内存并行计算机上工作。[BSD]
concurrencpp - 一个通用并发库,包含任务、执行程序、计时器和 C++20 协程来统治它们。
配置文件, INI 文件
inifile-cpp - 一个仅用于 C++ 且易于使用的 Ini 文件解析器。[麻省理工学院]
inih - 简单 .C 语言的 INI 文件解析器,适用于嵌入式系统。[BSD-3-条款]
inih - inih 的仅单头 C++ 版本。[BSD-3-条款]
ini-cpp - 仅单头 C++ 版本,带有一些方便的读/写接口,从 innih 扩展而来。[BSD-3-条款]网站
iniparser - 这是一个解析器文件。[麻省理工学院]*
inipp - 简单的仅头文件 C++ ini 解析器和生成器。[麻省理工学院]
libconfig - 用于处理结构化配置文件的 C、C++ 库。[LGPL-2.1] 网站
libconfuse - 用于 C 语言 [ISC] 的小型配置文件解析器库
mINI - INI 文件读取器和写入器。[麻省理工学院]
simpleini - 跨平台 C++ 库,提供简单的 API 来读取和写入 INI 样式的配置文件。[麻省理工学院]
toml++ - 适用于 C++17 及更高版本的仅标头 TOML 解析器和序列化器。[麻省理工学院]网站
toml11 - 仅依赖于 C++ 标准库的 C++11(或更高版本)头文件 toml 解析器/编码器。[麻省理工学院]
C++ B 树 - 一个模板库,用于基于 B 树数据结构实现有序的内存中容器。[阿帕奇2]
dynamic_bitset - 简单有用的库:C++17/20 仅头文件动态 bitset。[麻省理工学院]网站
fixed-containers - 仅头文件 C++20 库,提供固定容量的 constexpr 容器。[麻省理工学院]
flat_hash_map - 具有斐波那契哈希的非常快速的平面哈希表。
frozen - 适用于 C++14 用户的 gperf 的仅标头 constexpr 替代方案。[阿帕奇-2.0]
哈希图 - 在 C++ 中实现开放寻址哈希表算法。[麻省理工学院]
hat-trie - 快速且内存高效的 HAT-trie 的 C++ 实现。[麻省理工学院]
Hopscotch map - 一种快速的仅标头哈希 map,它使用 hopscotch 哈希来解决冲突。[麻省理工学院]
LSHBOX - 一个位置敏感哈希 (LSH) 的 c++ 工具箱,提供了几种流行的 LSH 算法,还支持 Python 和 MATLAB。[GPL]
parallel-hashmap - 一系列仅标头、非常快速且内存友好的 hashmap 和 btree 容器 [Apache2] 网站
PGM-index - 一种数据结构,支持在数十亿个项目的数组中快速查找、前置任务、范围搜索和更新,使用比传统索引小几个数量级的空间。[阿帕奇2]网站
plf::colony - 一个无序的“袋”型容器,在高修改情况下性能优于 std 容器,同时无论插入/擦除如何,它都保持指向未擦除元素的永久指针。[zLib]网站
plf::list - 一个 std::list 实现,它删除了范围拼接,以实现更友好的缓存结构,从而显著提高了性能。[zLib]网站
plf::stack - std::stack 容器适配器的替换容器,性能优于堆栈上下文中的任何 std 容器。[zLib]网站
ring_span lite - Arthur O'Dwyer 的 ring_span 实现的简化实现,即。循环缓冲区视图。[麻省理工学院]
robin-hood-hashing - 基于C++14的robin hood哈希的快速且内存高效的哈希表。[麻省理工学院]
robin-map - 使用 robin hood 哈希的快速哈希映射和哈希集。[麻省理工学院]
sparsepp - 适用于 C++ 的快速、内存高效的哈希映射。[BSD 3 子句]
st_tree - 用于树数据结构的快速灵活的 C++ 模板类。[阿帕奇-2.0]
svector - 适用于 C++17 或更高版本的紧凑型 SVO 优化向量。[麻省理工学院]
tree.hh - 类似 STL 的 C++ 仅头文件树形库。[GPL2+]
unordered_dense - 一个基于robin-hood反向移位删除的快速且密集存储的hashmap和hashset。[麻省理工学院]
加密和加密库
Bcrypt - 跨平台文件加密实用程序。加密文件可在所有支持的操作系统和处理器之间移植。[BSD]
BeeCrypt - 一个可移植且快速的密码学库。[LGPLv2.1+]
Botan - 用于 C++ 的加密库。[BSD-2]
Crypto++ - 加密方案的免费 C++ 类库。[提升]网站
digestpp - C++11 仅标头消息摘要 (哈希) 库。[公共域]
GnuPG - OpenPGP 标准的完整且免费的实现。[GPL]
GnuTLS - 实现 SSL、TLS 和 DTLS 协议的安全通信库。[LGPL2.1]
Libgcrypt - 最初基于 GnuPG 代码的通用加密库。[LGPLv2.1+]
LibreSSL - 2014 年从 OpenSSL 分叉而来的 SSL/TLS 协议的免费版本。[?]
libsodium - 基于 P(ortable|ackageable) 的 NaCl 加密库,固执己见且易于使用。[国际检索中心]
libhydrogen - 一个轻量级、安全、易于使用的加密库,适用于受限环境。[国际检索中心]
LibTomCrypt - 一个相当全面的、模块化的和可移植的加密工具包。[WTFPL]
mbedTLS - 一个开源、可移植、易于使用、可读且灵活的 SSL 库,以前称为 PolarSSL。[阿帕奇2]网站
Nettle - 一种低级加密库。[LGPL]
OpenSSL - 一个强大的商业级、功能齐全的开源加密库。[阿帕奇]网站
retter - 与加密相关的哈希函数、密码、工具、库和材料的集合。
s2n - TLS/SSL 协议的实现。[阿帕奇]
sha1collisiondetection - 用于检测文件中 SHA-1 冲突的库和命令行工具。[麻省理工学院]
Tink - 一个多语言、跨平台的库,提供安全、易于正确使用且不易滥用的加密 API。[阿帕奇-2.0]
Tiny AES in C - 小型便携式 AES128/192/256 in C. [PublicDomain]
Themis - 用于轻松数据安全的加密库,为移动和服务器平台提供对称和非对称加密、具有前向保密性的安全套接字。[阿帕奇2]
HEhub - 用于同态加密及其应用的库。[阿帕奇2]
用于解析逗号分隔值 (CSV) 文件的库
commata - 只是另一个仅标头 C++17 CSV 解析器。[取消许可]
csv2 - 适用于现代 C++ 的快速 CSV 解析器。[与]
Csv::P arser - 用 C++17 编写的编译时和运行时 CSV 解析器。[兹利布]
快速 C++ CSV 解析器 - 用于读取 CSV 文件的小型、易于使用且快速的仅标题库。[BSD-3-条款]
釉料 - 高性能,仅标头,支持反射的 CSV 库。[麻省理工学院]
lazycsv - 适用于现代 C++ 的快速、轻量级、单头 csv 解析器。[麻省理工学院]
ssp - 仅标头“csv”解析器,它与现代 C++ API 一起快速且用途广泛。[麻省理工学院]
Vince 的 CSV 解析器 - 一个快速、独立的流式 C++17 CSV 解析器,具有可选的类型转换和统计信息。[麻省理工学院]
数据库库、SQL Server、ODBC 驱动程序和工具
ClickHouse - ClickHouse DBMS 的 C++ 客户端。[阿帕奇2]
CrossDB - 超高性能轻量级嵌入式和服务器 OLTP RDBMS。[MPL-2.0] 网站
DuckDB - 进程内 SQL OLAP 数据库管理系统。[麻省理工学院]网站
hiberlite - sqlite3 的 C++ 对象关系映射。[BSD]
Hiredis - 用于 Redis 数据库的简约 C 客户端库。[BSD]
Infinity - 为LLM应用程序构建的 AI 原生数据库,提供极快的矢量和全文搜索。[阿帕奇2]
Kuzu - 为提高查询速度和可扩展性而构建的可嵌入属性图数据库管理系统。实现 Cypher。[麻省理工学院]网站
Kvrocks - 使用 RocksDB 作为存储引擎,兼容 Redis 协议的分布式 keyvalue NoSQL 数据库。[阿帕奇2]
LevelDB - 由 Google 编写的快速键值存储库,提供从字符串键到字符串值的有序映射。[BSD]
libpg_query - 用于在服务器环境之外访问 PostgreSQL 解析器的 C 库。[BSD-3-条款]
libpqxx - PostgreSQL 的官方 C++ 客户端 API。[BSD-3-条款]
LMDB - 非常快速的嵌入式键/值存储,具有完整的 ACID 语义。[OpenLDAP]
LMDB++ - LMDB 嵌入式数据库库的 C++11 包装器。[公共域]
mgclient - C/C++ Memgraph 客户端。[阿帕奇2]
MongoDB C 驱动程序 - 适用于 C 语言的 MongoDB 客户端库 [Apache2]
MongoDB C++ 驱动程序 - MongoDB 的 C++ 驱动程序。[阿帕奇2]
MongoDB Libbson - BSON 实用程序库。[阿帕奇2]
MySQL++ - MySQL C API 的 C++ 包装器。[LGPL]
nanodbc - 用于本机 C ODBC API 的小型 C++ 包装器。[麻省理工学院]
ODB - 适用于 C++ 的开源、跨平台和跨数据库对象关系映射 (ORM) 系统。[GPLv2]
redis3m - hiredis 的包装器,具有干净的 C++ 接口,支持 sentinel 和即用型模式。[阿帕奇2]
Reindexer - 可嵌入的、内存中的、面向文档的数据库,具有高级查询生成器界面。[阿帕奇2]网站
RocksDB - 用于从 facebook 快速存储的嵌入式键值存储。[BSD]
SimDB - 高性能、共享内存、无锁、跨平台、单个文件、最小依赖项、C++11 键值存储。[阿帕奇2]
SOCI - C++ 的数据库抽象层。[提升]
Speedb - 社区主导的项目:符合 RocksDB 标准的高性能可扩展嵌入式键值存储。[阿帕奇2]
SQLite - 一个完全嵌入式、功能齐全的关系数据库,只需 100k 个版本,您就可以将其直接包含在您的项目中。[公共域]
SQLiteC++ - SQLiteC++ (SQLiteCpp) 是一个智能且易于使用的 C++ SQLite3 包装器。[麻省理工学院]
sqlite_modern_cpp - 仅标头 C++14 对 sqlite 库的包装器。[与]
sqlite_orm - 适用于现代C++的 SQLite ORM 仅轻量级标题库。[AGPL + 付费 MIT]
sqlpp11 - 一种类型安全的嵌入式域特定语言,用于 SQL 查询和 C++ 结果。[BSD-2-条款]
TidesDB - 高性能、持久、事务性的嵌入式存储引擎,专为闪存和 RAM 优化而设计。[MPL-2.0] 网站
TileDB - 快速、密集和稀疏的多维数组 DBMS。[麻省理工学院]网站
TinyORM - 现代 C++ ORM 库。[麻省理工学院]网站
UnQLite - 一个独立的、无服务器的、零配置的、事务性的 NoSQL 引擎。[BSD-2-条款]网站
upscaledb - 具有内置查询接口的嵌入式“类型化”键/值存储。[GPLv3]
TigerBeetleDB C++ 客户端(社区)- TigerBeetle 是一个财务会计数据库,旨在实现关键任务安全性和性能,为金融服务的未来提供动力。[BSL-1.0]
Trilogy - 适用于 MySQL 兼容数据库服务器的客户端库,旨在提高性能、灵活性和易于嵌入。[麻省理工学院]
UStore - 用于 BLOB、JSON 和图形的多模态数据库。[阿帕奇2]
Velox - 一个 C++ 矢量化数据库加速库,旨在优化查询引擎和数据处理系统。[Apache-2.0] 网站
数据可视化库
matplotplusplus - 用于数据可视化的 C++ 图形库。[麻省理工学院]网站
调试库、内存泄漏和资源泄漏检测、单元测试
backward-cpp - 一个漂亮的 C++ 堆栈跟踪漂亮打印机。[麻省理工学院]
Bencher - 一套持续基准测试工具,旨在捕获 CI 中的性能回归。[麻省理工学院]/[Apache2]
benchmark - Google 提供了小型 microbenchmark 支持库。[阿帕奇2]
Boost.Test - Boost 测试库。[提升]网站
check - Check 是 C 语言的单元测试框架。[LGPL-2.1] 网站
doctest - 最轻量级功能丰富的 C++ 单头测试框架。[麻省理工学院]
Catch2 - 用于单元测试、TDD 和 BDD 的现代 C++ 原生测试框架。[提升]
Celero - C++ 基准测试框架。[阿帕奇2]
cpp-dump - 用于调试目的的 C++ 库,可以打印任何变量,甚至是用户定义的类型。[麻省理工学院]
CppUTest - C/C++ 的单元测试和模拟框架。[BSD-3 条款]
CUTE - C++ 单元测试更容易。[LGPL3]
CMocka - 支持 mock 对象的 C 单元测试框架。[阿帕奇2]
CppBenchmark - C++ 的性能基准测试框架,具有纳秒级测量精度。[麻省理工学院]
Cpptrace - 一个简单、可移植且自包含的 C++ 堆栈跟踪库,支持 C++11 及更高版本。[麻省理工学院]
CppUnit - JUnit 的 C++ 端口。[LGPL2]
CTest – CMake 测试驱动程序。[BSD]
dbg-macro - 用于 C++ 的 dbg(...) 宏。[麻省理工学院]
DebugViewPP - 调试日志记录查看器。[提升]
Deleaker - 一种用于资源泄漏检测的工具,包括内存、GDI 和句柄泄漏。
FakeIt - C++ 的简单模拟框架。[麻省理工学院]
fff - 用于创建假 C 函数的微框架。[麻省理工学院]
Google Mock - 用于编写和使用 C++ 模拟类的库。[BSD]
Google 测试 - Google C++ 测试框架。[BSD]
Hippomocks - 单头模拟框架。[LGPL-2.1]
IceCream-CPP - 永远不要再使用 cout/printf 进行调试 [MIT]
ig-debugheap - 多平台调试堆,可用于跟踪内存错误。[BSD]
libassert - 设计最过度的 C++ 断言库。[麻省理工学院]
libtap - 用 C 语言编写测试 [GPL2]
microprofile - 具有多个平台的 Web 视图的分析器。[取消许可]
MinUnit - 一个 C 的最小单元测试框架,自包含在单个头文件中。[麻省理工学院]
Mockator - 用于 C++ 接缝和模拟对象的 Eclipse CDT 插件。
nanobench - 适用于 C++11/14/17/20 的简单、快速、准确的单头微基准测试功能。[麻省理工学院]网站
Nanotimer - 一个简单的低开销跨平台计时器类,用于基准测试。[zLib]网站
Nonius - 一个 C++ 微基准测试框架。[抄送]
Remotery - 带有 Web 查看器的 Single C File Profiler。[阿帕奇2]
snitch - 轻量级 C++20 测试框架。[提升]
Touca - 您可以自托管的开源回归测试系统。[阿帕奇2]网站
UnitTest++ - 用于 C++ 的轻量级单元测试框架。[MIT/X Consortium 许可证]
Unity - C 语言的简单单元测试 [MIT]
utest.h - 适用于 C 和 C++ 的单头单元测试框架。[取消许可]
μt - C++20 单接头/单模块,无宏 μ(微)/单元测试框架。[提升]
VLD - 目视检漏仪。一个免费、健壮的开源 Visual C++ 内存泄漏检测系统。
Doxide - 现代 C++ 的现代文档,使用 YAML 进行配置,输出 Markdown。[阿帕奇 2.0]网站
doxygen ⚡ - 从带注释的 C++ 源生成文档的事实标准工具。[GPL2]网站
doxyrest - 从 Doxygen XML 到 Sphinx 的 reStructuredText 的编译器。[麻省理工学院]
hdoc - C++ 的现代文档工具。[AGPL/专有]网站
Natural Docs - Natural Docs 是一个适用于多种编程语言的开源文档生成器。[AGPL/专有]网站
Sphinx - Sphinx 可以轻松创建智能且美观的文档。[BSD-2-条款]网站
数字信号处理。
DSPFilters - 用于数字信号处理的有用 C++ 类的集合。[麻省理工学院]
FFTW - 用于计算一个或多个维度的 DFT 的 C 库。[GPL]
iir1 - IIR 实时 C++ 滤波器库。[麻省理工学院]
kissfft - 一个快速傅里叶变换 (FFT) 库,试图让它变得简单、愚蠢。[BSD-3-条款]
pocketfft - 基于 FFTPack 的 FFT 实现,但有几项改进。[BSD-3-条款]
wavelib - 1D 和 2D 小波变换的 C 实现。[BSD-3-条款]
用于解析和操作字体文件的库。
Fontconfig - 字体配置和自定义库。[麻省理工学院]网站
FreeType - FreeType 是一个免费提供的用于渲染字体的软件库。[FTL & GPLv2]
otfcc - 用于解析和写入 OpenType 字体文件的 C 库和实用程序。[阿帕奇-2.0]
harfbuzz - 文本定型引擎。[老麻省理工学院]
libschrift - 轻量级 TrueType 字体渲染库。[国际检索中心]
Acid - 高速 C++17 Vulkan 游戏引擎。[与]
Allegro - 一个主要针对视频游戏和多媒体编程的跨平台库。[zlib]
Axmol 引擎 - 适用于桌面、移动设备和 XBOX (UWP) 的跨平台游戏引擎,源自 Cocos2d-x-4.0。[麻省理工学院]网站
Cocos2d-x - 用于构建 2D 游戏、交互式书籍、演示和其他图形应用程序的多平台框架。[麻省理工学院]
Corange - 用纯 C、SDL 和 OpenGL 编写的游戏引擎。[BSD]
crown - Crown 是一个通用的数据驱动型游戏引擎,用正统的 C++ 从头开始编写,并考虑了极简主义和面向数据的设计理念。[麻省理工学院]
delta3d - 一个强大的模拟平台。[LGPL2]
EnTT - 游戏与现代 C++ 的结合。[与]
GamePlay - 用于创建 2D/3D 移动和桌面游戏的跨平台原生 C++ 游戏框架。[阿帕奇2]
Godot - 一个功能齐全、开源、MIT 许可的游戏引擎。[麻省理工学院]
Grit - 构建用于实现开放世界 3D 游戏的免费游戏引擎的社区项目。[麻省理工学院]
Halley - 一个用 C++14 编写的轻量级游戏引擎,具有“真正的”实体-组件系统。[阿帕奇 2.0]
JNGL - 适用于 Linux、Windows、macOS、Android、iOS、Xbox、Nintendo Switch 和 Web 的 2D 库。[zlib]网站
KlayGE - 一个跨平台的开源游戏引擎,具有基于插件的架构。[GPLv2]网站
nCine - 一个跨平台的 2D 游戏引擎,强调性能,用 C++11 编写,可选择用 Lua 编写脚本。[麻省理工学院]网站
o3de - 基于 Amazon Lumberyard 的开源实时多平台 3D 引擎。[阿帕奇2]网站
OpenXRay - 用于 S.T.A.L.K.E.R. 游戏系列的社区修改的 X-Ray 引擎。[修改后的 BSD/仅限非商业版]
Oxygine - 跨平台的 2D C++ 游戏引擎。[与]
Panda3D - 一个游戏引擎,一个用于 Python 和 C++ 程序的 3D 渲染和游戏开发的框架。[修改后的 BSD]网站
PixelGameEngine - olcPixelGameEngine 的官方发行版,这是 javidx9 的 YouTube 视频和项目中使用的工具。[OLC3]
Polycode - 用于 C++ 创意代码的跨平台框架(带有 Lua 绑定)。[麻省理工学院]网站
quakeforge - 经过 20+ 年开发,积极维护原始 Quake 引擎代码的分支。[GPL-2.0]
raylib - 一个简单易用的库,让您享受电子游戏编程。[zlib/libpng]网站
Spring - 一个强大的免费跨平台 RTS 游戏引擎。[GPLv2/GPLv3]网站
Torque2D - 为 2D 游戏开发构建的开源跨平台 C++ 引擎。[麻省理工学院]网站
Torque3D - 为 3D 游戏开发构建的开源 C++ 引擎。[麻省理工学院]网站
toy engine - toy 是一个精简的模块化 C++ 游戏引擎,提供简单、富有表现力的 C++ 惯用语,用于在快速迭代中设计功能齐全的 2D 或 3D 游戏。
Urho3D - 一个用 C++ 实现的免费轻量级跨平台 2D 和 3D 游戏引擎。深受 OGRE 和 Horde3D 的启发。[麻省理工学院]
ezEngine - 是一个用 C++ 编写的免费开源游戏引擎。它的理念是模块化和灵活,以便它可以适应许多不同的用例。[麻省理工学院]网站
图形用户界面
Boden - 原生、移动、跨平台的 GUI 框架。[GPL/LGPL/专有]网站
CEGUI - 灵活的跨平台 GUI 库。
Elements - 轻量级、细粒度、独立于分辨率的模块化 GUI 库。[麻省理工学院]
FLTK -- 快速、轻量级、跨平台的 C++ GUI 工具包。[LGPL2]
FOX Toolkit - 一个开源的跨平台小部件工具包。[LGPL]
GacUI - GPU 加速 C++ 用户界面,具有所见即所得的开发工具、XML 支持、内置数据绑定和 MVVM 功能。[女士-PL]
GTK+ - 用于创建图形用户界面的多平台工具包。[LGPL]
gtkmm - 流行的 GUI 库 GTK+ 的官方 C++ 接口。[LGPL]
imgui - 具有最小依赖项的即时模式图形用户界面。[麻省理工学院]
implot - imgui 的即时模式绘图小部件。[麻省理工学院]
iup - 用于构建图形用户界面的多平台工具包。[麻省理工学院]
libui - 简单且可移植(但并非不灵活)的 C 语言 GUI 库,它使用它支持的每个平台的原生 GUI 技术。[麻省理工学院]
MyGUI - 快速、灵活、简单的 GUI。[麻省理工学院]
nana - Nana 是一个跨平台的库,用于现代 C++ 风格的 GUI 编程。[提升]
NanoGui - 适用于 OpenGL 3.x 或更高版本的简约跨平台小部件库。[BSD]
nuklear - 单头 ANSI C GUI 库。[公共域]
QCustomPlot – 没有更多依赖项的 Qt 绘图小部件。[GPLv3]
Qwt - 用于技术应用程序的 Qt 小部件。[基于 LGPL 的所有权]
QwtPlot3D - 一个功能丰富的基于 Qt/OpenGL 的 C++ 编程库,本质上提供了一堆 3D 小部件。[zlib]
RmlUi - HTML/CSS 用户界面库不断发展。libRocket 的分叉。[麻省理工学院]
Saucer - 一个现代的跨平台 C++ Web 视图库。[麻省理工学院]- Sciter - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial]
Sciter - Sciter 是一个可嵌入的 HTML/CSS/脚本引擎,旨在用作现代桌面应用程序的 UI 层。[免费/商业]
Slint - 用于桌面和嵌入式的轻量级 GUI 工具包。[GPL/免费/专有]网站
TGUI - 跨平台的现代 c++ GUI。[兹利布]网站
WebUI - 使用任何 Web 浏览器作为 GUI,后端使用您的首选语言,前端使用 HTML5。[麻省理工学院]网站
wxCharts - 用于在 wxWidgets 应用程序中创建图表的库。[麻省理工学院]网站
wxWidgets - 一个 C++ 库,允许开发人员使用单个代码库为 Windows、Mac OS X、Linux 和其他平台创建应用程序。[拥有 LGPL]
xtd - 现代 C++17/20 框架,用于在 Windows、macOS、Linux、iOS 和 Android 上创建控制台 (CLI)、表单(GUI 如 WinForms)和 tunit(单元测试,如 Microsoft 单元测试框架)应用程序。[麻省理工学院]
Yue - 用于创建原生跨平台 GUI 应用程序的库。
assimp - 开放资源导入库 (assimp) 是一个跨平台的 3D 模型导入库,旨在为不同的 3D 资源文件格式提供通用 API。[BSD-3-条款]网站
bgfx - 跨平台渲染库。[BSD]
Blend2D - 由 JIT 编译器提供支持的 2D 矢量图形引擎。[兹利布]网站
Cairo - 支持多个输出设备的 2D 图形库。[LGPL2 或 Mozilla MPL]
C-Turtle - 一个仅限 C++11 头文件的 Turtle 图形库,充当 CImg 包装器。[麻省理工学院]
Diligent Engine - 现代跨平台低级 3D 图形库。[阿帕奇2]
DirectXTK - 用于用 C++ 编写 DirectX 11.x 代码的帮助程序类的集合。[麻省理工学院]
GLFW - 一个简单的跨平台 OpenGL 整理库。[zlib/libpng]
GLFWPP - 适用于 GLFW 的精简现代 C++17 仅头文件包装器。[麻省理工学院]
Harfang 3D 3D 可视化库,可在 C++、Python、Lua 和 Go 中使用。基于 BGFX。[GPLv3/LGPLv3/专有]网站
herebedragons - 使用各种引擎、框架或 API 实现的基本 3D 场景。[麻省理工学院]网站
Horde3D - 一个小型 3D 渲染和动画引擎。[英超]
Ion - 一组小型高效的库,用于构建使用 3D 图形的跨平台客户端或服务器应用程序。[阿帕奇2]网站
Irrlicht - 用 C++ 编写的高性能实时 3D 引擎。[zlib]
libigl - 简单的 C++ 几何处理库。[MPL2]
LLGL - 低级图形库 (LLGL) 是现代图形 API 的薄抽象层。[BSD-3-条款]
LunaSVG - C++ 中的独立 SVG 渲染库。[麻省理工学院]
magnum - 用于游戏和数据可视化的轻量级模块化 C++11/C++14 图形中间件。[麻省理工学院]网站
micro-gl - 实时、可嵌入、仅标头 C++11 CPU 矢量图形。无需 STD 库、FPU 和 GPU。[自定义]网站
NanoVG - 基于 OpenGL 的抗锯齿 2D 矢量绘图库,用于 UI 和可视化。[兹利布]
Ogre 3D ⚡ - 用 C++ 编写的面向场景的实时灵活 3D 渲染引擎(而不是游戏引擎)。[麻省理工学院]网站- OpenSceneGraph - An open source high performance 3D graphics toolkit. [OSGPL]
OpenSceneGraph - 开源高性能 3D 图形工具包。[OSGPL] - OpenSubdiv - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2]
OpenSubdiv - Pixar 的库,用于在 CPU 和 GPU 上计算和渲染细分曲面。[修改后的 Apache2]
OpenVDB - 用于存储、编辑和渲染体积数据集的库和工具。[MPL2]
Panda3D - 用于 Python 和 C++ 的 3D 渲染和游戏开发的框架。[BSD]
Partio - 用于整理粒子数据的库,支持最常见的文件格式。[修改后的 BSD]
Skia - 用于绘制文本、几何图形和图像的完整 2D 图形库。[BSD]网站
ThorVG - 一个独立于平台的可移植库,允许绘制基于矢量的场景和动画,包括 SVG 和 Lottie。[麻省理工学院]网站
TinySpline - 一个小而强大的 ANSI C 库,用于插值、变换和查询任意 NURBS、B 样条曲线和贝塞尔曲线。[麻省理工学院]
urho3d - 跨平台渲染和游戏引擎。[许多不同的,主要是麻省理工学院]
Yocto/GL - 用于数据驱动的基于物理的图形的微型 C++ 库。[麻省理工学院]
Boost.GIL - 通用图像库。[提升]网站
BitmapPlusPLus - 简单快速的仅头文件位图 C++ 库。[麻省理工学院]
CImg - 用于图像处理的小型开源 C++ 工具包。[拥有 LGPL 或 GPL]
CxImage - 一个图像处理和转换库,用于加载、保存、显示、转换 BMP、JPEG、GIF、PNG、TIFF、MNG、ICO、PCX、TGA、WMF、WBMP、JBG、J2K 图像。[zlib]
Dlib ⚡ - 现代 C++11 机器学习、计算机视觉、数值优化和深度学习工具包。[提升]网站
fpng - 超快的 C++ .PNG 写入器/读取器。[取消许可]
FreeImage - 一个开源库,支持流行的图形、图像格式和当今多媒体应用程序所需的其他格式。[GPL2 或 GPL3]
GD - GD图形库,在PHP中著名的用于图像加载/操作和缩略图生成。[自定义宽容许可证,需要在用户文档中提及]网站
DCMTK - DICOM 工具包。
GDCM - 基层 DICOM 库。
ITK - 用于图像分析的开源跨平台系统。[来自 ITK 4.0 的 Apache2]
[Jpegli][https://github.com/google/jpegli] - 改进的 JPEG 编码器和解码器实现。[BSD-3-条款]
Leptonica - Leptonica 是一个开源库,其中包含对图像处理和图像分析应用程序广泛有用的软件。[BSD-2-条款]网站
libavif - 用于编码和解码 .avif 文件的库。[BSD-2-条款]
libfacedetection - 用于图像中人脸检测的开源库。人脸检测速度可达 1500FPS。[BSD]
libjpeg-turbo - 一种 JPEG 图像编解码器,它使用 SIMD 指令来加速基线 JPEG 编码和解码。[IJG & BSD-3-Clause & zlib]网站
libjxl - JPEG XL 图像格式参考实现。[BSD-3-条款]
libpng - 用于读取、创建和操作 PNG(可移植网络图形)光栅图像文件的应用程序的参考库。[libpng-2.0] 网站
libspng - 简单、现代的 libpng 替代方案。[BSD-2]网站
libvips - 具有低内存需求的快速图像处理库。[LGPL]网站
LodePNG - C 和 C++ 中的 PNG 编码器和解码器。[兹利布]
Magick++ - 用于 C++ 的 ImageMagick 程序接口。[阿帕奇2]
MagickWnd - 用于 C 语言的 ImageMagick 程序接口 [Apache2]
MozJPEG - 改进的 JPEG 编码器。[BSD/BSD-3-条款/ZLIB]
OpenCV ⚡ - 开源计算机视觉。[阿帕奇2]网站
OpenEXR - 用于高动态范围成像的跨平台库。[修改后的 BSDF]
OpenImageIO - 强大的图像和纹理整理库,支持多种常见的有损和 RAW 格式。[修改后的 BSD]
OpenJPEG - 一种用 C 语言编写的开源 JPEG 2000 编解码器。[BSD-2-条款]
QOI - 用于快速、无损图像压缩的“Quite OK Image Format”。[麻省理工学院]
SAIL - 易于使用的跨平台图像解码库,带有可插拔的图像编解码器。[麻省理工学院]
Simd - 使用 SIMD 的 C++ 图像处理库:SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX、AVX2、AVX-512、VMX(Altivec) 和 VSX(Power7)、NEON for ARM。[麻省理工学院]
stb-image - STB 单头图像加载库。[公共领域]
tesseract-ocr - OCR 引擎。[阿帕奇2]
TinyDNG - C++ 中的仅标头 Tiny DNG/TIFF 加载器和编写器。[麻省理工学院]
TinyEXIF - 用于 JPEG 的微型 ISO 兼容 C++ EXIF 和 XMP 解析库。[麻省理工学院]
TinyTIFF - 轻量级 TIFF 读取器/写入器库。[GPL-3.0]
Video++ - 一个 C++14 高性能视频和图像处理库。[麻省理工学院]
VIGRA - 用于图像分析的通用 C++ 计算机视觉库。[麻省理工学院 X11]
VTK - 用于 3D 计算机图形、图像处理和可视化的开源、免费软件系统。[BSD]
gettext - GNU 'gettext'。[GPL2]
IBM ICU - 一组 C/C++ 和 Java 库,提供 Unicode 和全球化支持。[重症监护室]
libiconv - 不同字符编码之间的编码转换库。[GPL]
simdutf - Unicode 例程(UTF8、UTF16、UTF32):使用 SSE2、AVX2、NEON、AVX-512 每秒处理数十亿个字符。[阿帕奇-2/麻省理工学院]
uni-algo - C/C++ 的 Unicode 算法实现。[Unlicense 或 MIT]
utf8.h - 用于 C 和 C++ 的单头 utf8 字符串函数。[取消许可]
utf8proc - 用于处理 UTF-8 Unicode 数据的干净 C 库。[麻省理工学院]
Apache Thrift - 高效的跨语言 IPC/RPC,可在 C++、Java、Python、PHP、C# 和更多其他语言之间工作。最初由 Facebook 开发。[阿帕奇2]
Boost.Interprocess - 仅头文件 Boost 库,支持内核级共享内存和内存映射文件,具有内置的同步机制(信号量、互斥锁等)。[提升]网站
bRPC - bRPC 是一种使用 C++ 语言的工业级 RPC 框架,常用于高性能系统,如搜索、存储、机器学习、广告、推荐等。[Apache2] 网站
Cap'n Proto - 快速数据交换格式和基于功能的 RPC 系统。[麻省理工学院]网站
eCAL - Pub/sub、客户端/服务器、C++/Python/C#、各种消息协议(protobuf、capnproto 等)。[阿帕奇2]网站
gRPC - 高性能、开源、通用的 RPC 框架。[BSD]网站
Ice - 全面的 RPC 框架,支持 C++、C#、Java、JavaScript、Python 等。[GPLv2]
iceoryx - 真正的零拷贝进程间通信框架,适用于安全关键系统,具有 C、Rust 的绑定。可在 Linux、QNX、Windows、Mac OS、FreeBSD 上运行。[阿帕奇2]网站
libjson-rpc-cpp - 用于 C++ 服务器和客户端的 JSON-RPC 框架。[麻省理工学院]
nanomsg - 几个 “可扩展性协议” 的简单高性能实现。[麻省理工学院]网站
nng - nanomsg-next-generation,一个轻量级的无代理消息传递库。[麻省理工学院]网站
rpclib - 现代 C++ msgpack-RPC 服务器和客户端库。[麻省理工学院]
simple-rpc-cpp - C/C++ 函数的简单 RPC 包装器生成器。[BSD]
SRPC - 支持多种协议和 OpenTelemetry 的轻量级 RPC 系统。[阿帕奇2]
WAMP - 提供 RPC 和发布/订阅消息收发模式。(各种实现方式,各种语言)
xmlrpc-c - 基于 XML 和 HTTP 的轻量级 RPC 库。[BSD]
Boost.PropertyTree - 一个属性树解析器/生成器,可以用来解析 XML/JSON/INI/Info 文件。[提升]网站
cJSON - ANSI C 中的超轻量级 JSON 解析器 [MIT]
DAW JSON 链接 - 在 C++ 中快速、方便地进行 JSON 序列化和解析。[BSL-1.0]
frozen - 用于 C/C++ 的 JSON 解析器和生成器。[GPL & GPL2]
Glaze - 在内存、JSON 和接口库中,适用于现代 C++,速度极快。[麻省理工学院]
Jansson - 用于编码、解码和操作 JSON 数据的 C 库。[麻省理工学院]
jbson - jbson 是一个用于构建和迭代 BSON 数据和 JSON 文档的 C++14 库。[提升]
JeayeSON - 一个非常理智的(仅标头)C++ JSON 库。[BSD]
jsmn - C 语言中的极简 JSON 解析器 [MIT]
json ⚡ -- 现代 C++ 的 JSON。[麻省理工学院]网站
JSON++ - C++ 中的 JSON 解析器。[与]
json.cpp - 用于 C++ 的巴洛克式 JSON 解析/序列化库。[阿帕奇-2.0]
json.h - 用于在 C 和 C++ 中解析 JSON 的简单单头/单源解决方案。[取消许可]
json-build - C89 微型零分配 JSON 序列化器。[麻省理工学院]
json-c - C 语言的 JSON 实现。
jsoncons - 一个仅限 C++ 头文件的库,适用于 JSON 和类似 JSON 的二进制格式,具有 JSONPointer、JSONPatch、JSONPath 和 JMESPath。[提升]
JsonCpp - 用于与 JSON 交互的 C++ 库。[麻省理工学院]
Jsonifier - 一些用于从 JSON 解析和序列化对象的类 - 非常快速。[麻省理工学院]
jsonParse - ANSI C 中的简单 JSON 解析器 [MIT]
json-parser - 使用便携式 ANSI C. [BSD] 编写的占用空间非常低的 JSON 解析器
json11 - 用于 C++11 的小型 JSON 库。[麻省理工学院]
json-struct - 与 C++ 结构之间的高性能、单标头 JSON 解析器解析。[麻省理工学院]
json-voorhees - 用于 C++ 的 JSON 库。支持 C++11。无依赖项,快速且对开发人员友好。[阿帕奇2]
JSON 工具包 - 适用于 C++20 的 JSON、JSON 指针、JSON 架构和 JSONL 库。[AGPL/商业]
jute - 非常简单的 C++ JSON 解析器。[公共域]
libjson - C 语言的 JSON 解析器和打印机库,易于与任何模型集成。[LGPL]
libjson - 轻量级 JSON 库。[?]
LIBUCL ⚡ - 通用配置库解析器。[BSD-2-条款]
parson - Parson 是一个用 C 语言编写的轻量级 json 库。
PicoJSON - C++ 中的仅头文件 JSON 解析器序列化器。[BSD]
qt-json - 用于将 JSON 数据解析为 QVariant 层次结构的简单类,反之亦然。[GPLv3]
QJson - 一个基于 qt 的库,用于将 JSON 数据映射到 QVariant 对象。[LGPL2]
RapidJSON ⚡ - 用于 C++ 的快速 JSON 解析器/生成器,具有 SAX/DOM 风格的 API。[麻省理工学院]网站
sajson - 适用于 C++11 的轻量级、高性能 JSON 解析器。[麻省理工学院]
simdjson - 速度极快的 JSON 库,每秒可以解析数 GB 的 JSON。[阿帕奇-2.0]
Sonic-Cpp - 一个由SIMD加速的快速JSON序列化和反序列化库。[阿帕奇-2.0]
taoJSON - 零依赖 C++ 头文件专用 JSON 库。[麻省理工学院]
ujson - μjson 是一个小型 C++11 UTF-8 JSON 库。[麻省理工学院]
UltraJSON - 用 C 语言编写的超快速 JSON 解码器和编码器 [BSD-3-Clause]
YAJL - C 语言的快速流式 JSON 解析库 [ISC]
yyjson - 用 ANSI C 编写的高性能 JSON 库 [MIT]
Blackhole - 基于属性的日志记录框架,旨在实现快速、模块化和高度可定制。[麻省理工学院]
Boost.Log - 设计为高度模块化和可扩展。[提升]网站
BqLog - 一个轻量级、高性能的日志系统,用于 “Honor of Kings” 等项目。[阿帕奇-2.0]
Easylogging++ - 适用于 C++11(或更高版本)应用程序的极轻量级高性能日志记录库。[麻省理工学院]
fmtlog - 一个高性能的 fmtlib 样式日志记录库,延迟以纳秒为单位。[麻省理工学院]
G3log - 具有动态接收器的异步记录器。[公共域]
glog - Google 日志记录模块的 C++ 实现。
haclog - 一个极快的普通 C 日志库。[麻省理工学院]
Log4cpp - 一个 C++ 类库,用于灵活地记录到文件、syslog、IDSA 和其他目标。[LGPL]
log4cplus - 一个简单易用的 C++ 日志记录 API,提供对日志管理和配置的线程安全、灵活和任意精细的控制。[BSD & Apache2]
loguru - 轻量级 C++ 日志记录库。[公共域]
lwlog - 非常快速的同步和异步 C++17 日志记录库。[麻省理工学院]
plog - C++ 的可移植和简单日志,代码行数不到 1000 行。[MPL2]
reckless - 适用于 C++ 的低延迟、高吞吐量异步日志记录库。[麻省理工学院]
spdlog - 超快、仅头文件、C++ 日志记录库。
templog - 一个非常小的轻量级 C++ 库,可用于向 C++ 应用程序添加日志记录。[提升]
P7Baical - 一个开源和跨平台的库,用于高速发送遥测和追踪数据,同时最大限度地减少CPU和内存的使用。[LGPL]
Quill - 异步跨平台低延迟日志记录库。[麻省理工学院]
Caffe - 用于神经网络的快速框架。[BSD]
catboost - 一个快速、可扩展、高性能的 Gradient Boosting on Decision Trees 库。[阿帕奇2]
CCV - 基于 C 语言/缓存/核心计算机视觉库,现代计算机视觉库。[BSD]
darknet - 用 C 和 CUDA 编写的开源神经网络框架。[公共域]网站
Dlib ⚡ - 现代 C++11 机器学习、计算机视觉、数值优化和深度学习工具包。[提升]网站
FAISS - 用于高效相似性搜索和密集向量聚类的库。[麻省理工学院]
Fido - 用于嵌入式电子和机器人的高度模块化 C++ 机器学习库。[麻省理工学院]网站
flashlight - 来自 Facebook AI Research 的快速、灵活的机器学习库,完全用 C++ 编写,基于 ArrayFire 张量库。[BSD-3-条款]网站
ggml - 用于机器学习的张量库,支持 16 位和 4 位量化。[麻省理工学院]
libsvm - 一个简单、易用、高效的支持向量机库。[BSD-3-条款]网站
m2cgen - 一种 CLI 工具,用于将经过训练的经典 ML 模型转换为零依赖项的原生 C 代码。[麻省理工学院]
MeTA - 现代 C++ 数据科学工具包。[与]网站
Minerva - 一种快速灵活的深度学习系统。[阿帕奇2]
mlpack - 一个可扩展的 c++ 机器学习库。[LGPLv3]网站
ncnn - 针对移动平台优化的高性能神经网络推理计算框架。[BSD]
OpenCV ⚡ - 开源计算机视觉库。[BSD]网站
oneDAL - 一个强大的机器学习库,有助于加快大数据分析。[阿帕奇]
ONNX 运行时 - 用于训练和推理 ONNX 模型的 C 和 C++ 库。ONNX 是 AI 模型可以转换为的标准,无论它们使用何种库进行训练。[麻省理工学院]网站
Recommender - 使用协作筛选 (CF) 的产品推荐/建议的 C 库。[BSD]
RNNLIB - RNNLIB 是一个用于序列学习问题的递归神经网络库。[GPLv3]
SHOGUN - Shogun 机器学习工具箱。[GPLv3]
sofia-ml - 用于机器学习的快速增量算法套件。[阿帕奇2]
USearch - 向量和字符串的快速搜索和聚类库。[阿帕奇2]
VLFeat - VLFeat 开源库实现了流行的计算机视觉算法,专门用于图像理解和局部特征提取和匹配。[BSD-2-条款]网站
xgboost - 可扩展、可移植和分布式梯度提升(GBDT、GBRT 或 GBM)库,适用于 Python、R、Java、Scala、C++ 等。在单机、Hadoop、Spark、Flink 和 DataFlow 上运行。[阿帕奇2]
Apophenia - 用于统计和科学计算的 C 库。[GPL2]
Armadillo - 用于线性代数和科学计算的快速C++库。[阿帕奇2]网站
autodiff - 用于自动微分的现代、快速且富有表现力的 C++ 库。[麻省理工学院]网站
blaze - 用于密集和稀疏算术的高性能 C++ 数学库。[BSD]
Boost.Multiprecision - 在 C++ 中提供更高范围/精度的整数、有理数和浮点类型,仅头文件或使用 GMP/MPFR/LibTomMath 后端。[提升]网站
ceres-solver - 来自 Google 的 C++ 库,用于建模和求解大型复杂非线性最小二乘问题。[BSD]
CGAL - 高效可靠的几何算法集合。[LGPL&GPL]网站
CML - 用于游戏和图形的免费 C++ 数学库。[提升]
cnl - 用于 C++ 的组合数字库。[提升]
DirectXMath - 用于游戏和图形应用程序的全内联 SIMD C++ 线性代数库。
Dlib ⚡ - 现代 C++11 机器学习、计算机视觉、数值优化和深度学习工具包。[提升]网站
Eigen - 用于线性代数、矩阵和向量运算、数值求解器和相关算法的高级 C++ 模板头库。[MPL2]
ExprTk - C++ 数学表达式工具包库 (ExprTk) 是一个易于使用、易于集成且极其高效的运行时数学表达式解析器和评估引擎。[麻省理工学院]
几何工具 - 用于数学、图形、图像分析和物理领域计算的 C++ 库。[提升]网站
GLM - 仅头文件 C++ 数学库,与 OpenGL 的 GLSL 数学匹配并互操作。[MIT] 网站
GMTL - 图形数学模板库是一组以通用方式实现图形基元的工具。[GPL2]
GMP - 用于任意精度算术的 C 库,对有符号整数、有理数和浮点数进行操作。[LGPL3 & GPL2]
Klein - 一个快速、SIMD 优化的 C++17 几何代数库,用于点、线和平面投影、交点、联接、刚体运动等。[麻省理工学院]网站
linalg.h - 用于 C++ 的单头、公共域、短向量数学库。[取消许可]
MATIO - MATLAB MAT 文件 I/O 库。[BSD-2-条款]网站
MatX - GPU 加速的 C++17 数值计算库,具有类似 MATLAB/Python 的语法。[BSD 3 子句]
MIRACL - 多精度整数和有理算术加密库。[AGPL]
NumCpp - Python Numpy 库的模板化标头仅 C++ 实现。[麻省理工学院]
muparser - muParser 是用 C++ 编写的可扩展高性能数学表达式解析器库。[麻省理工学院]
LibTomMath - 一个完全用C语言编写的免费开源可移植数论多精度整数库。 [PublicDomain & WTFPL]网站
linmath.h - 一个精简的线性数学库,旨在进行图形编程。[WTFPL]
lp_solve - 用于公式化和求解线性规划问题的库。[LGPL]网站
OpenBLAS - 基于 GotoBLAS2 1.13 BSD 版本的优化 BLAS 库。[BSD 3 子句]网站
PCG-rand - PCG 是一系列用于随机数生成的简单、快速、节省空间且统计良好的算法。与许多通用 RNG 不同,它们也很难预测。[阿帕奇]
QuantLib - 用于量化金融的免费/开源库。[修改后的 BSD]网站
SimSIMD - x86 AVX2、AVX-512、Arm NEON 和 SVE 的矢量距离函数。[阿帕奇2]
StatsLib - 统计分布函数的仅限 C++ 标头的库。[阿帕奇2]网站
SymEngine - 快速符号操作库,用 C++ 重写了 SymPy 的核心。[麻省理工学院]
TinyExpr - 一个 C 库,用于解析和评估字符串中的数学表达式。[zlib]
vc - 用于 C++ 的 SIMD 向量类。[BSD]
Versor - 用于几何代数的(快速)通用 C++ 库,包括欧几里得、投影、共形、时空(等)。
Wagyu - 用于并集、交集、差分和 xor 的几何运算的通用库。[Mapbox-和牛原创]
Wykobi - 一个高效、健壮且易于使用的 C++ 面向 C++ 2D/3D 的计算几何例程的 C++ 库。[麻省理工学院]
xtensor - 一个 C++14 库,用于使用多维数组表达式进行数值分析,其灵感来自 NumPy 语法。[BSD 3 子句]网站
universal - 实现任意位置算术的 C++14 仅头文件库。位数系统是一种锥形浮点,比 IEEE 浮点更有效。Posit 可实现可重复的计算科学。[MIT 许可证]
XAD - 强大的 C++ 自动微分。[AGPL]网站
Boehm GC - 适用于 C 和 C++ 的保守垃圾回收器。[类似于 X11]网站
C 智能指针 - 用于 (GNU) C 编程语言的智能指针。[麻省理工学院]
Hoard - 适用于 Linux、Windows 和 Mac 的快速、可扩展且内存高效的 Malloc。[Apache-2.0] 网站
jemalloc - 通用型 malloc(3) 实现,强调分段避免和可伸缩并发支持。[BSD]网站
memory - STL 兼容的 C++ 内存分配器库。[ZLib]
memory-allocators - 自定义内存分配器,以提高动态内存分配的性能。[麻省理工学院]
mimalloc - 具有出色性能的紧凑型通用分配器。[麻省理工学院]
rpmalloc - 跨平台无锁线程缓存 16 字节对齐内存分配器,用 C 语言实现。
snmalloc - 基于消息传递的高性能分配器。[麻省理工学院]
TCMalloc - Google 的快速多线程 malloc 实现。[Apache-2.0] 网站
buddy_alloc - C 语言的单标头伙伴内存分配器,具有有限分配成本。[0BSD]
tgc - 一个用 ~500 LOC 编写的 C 语言的微型垃圾回收器。
GStreamer - 用于构建媒体处理组件图形的库。[LGPL]
libass - 用于 ASS/SSA 字幕格式的便携式字幕渲染器。[国际检索中心]
libav - 用于处理多媒体内容(如音频、视频、字幕和相关元数据)的库和工具的集合。[LGPL v2.1+ 等]网站
LIVE555 流媒体 - 使用开放标准协议(RTP/RTCP、RTSP、SIP)的多媒体流库。[LGPL]
libVLC - libVLC (VLC SDK) 媒体框架。[GPL]
MediaInfoLib - 方便、统一显示视频和音频文件最相关的技术和标签数据。[BSD]
QtAv - 基于 Qt 和 FFmpeg 的多媒体播放框架,可轻松编写播放器。[LGPL]网站
SDL ⚡ - 简单 DirectMedia 层。[zlib]网站
SFML ⚡ - 简单快速的多媒体库。[zlib]网站
TagLib - 用于读取和编辑多种常用音频格式的元数据的库。[LGPL/MPL]网站
ada - 用现代 C++ 编写的符合 WHATWG 标准的快速 URL 解析器。[阿帕奇-2.0/麻省理工学院]
ACE - C++ 中的 OO 网络编程工具包。[?麻省理工学院?
Boost.Asio ⚡ - 用于网络和低级 I/O 编程的跨平台 C++ 库。[提升]网站
Boost.Beast ⚡ - 基于 C++11 的 Boost.Asio 构建的 HTTP 和 WebSocket。[提升]网站
Breep - 基于事件的高级 C++14 对等库。[EUPL-1.1(OSI 批准)]
C++ REST SDK - C++ REST SDK(以前称为 Casablanca)。[阿帕奇2]
Restbed - C++11 异步 RESTful 框架。[AGPL]
Restinio - 一个仅标头 C++14 库,为您提供嵌入式 HTTP/Websocket 服务器。[BSD]
c-ares - 用于异步 DNS 请求的 C 库。[麻省理工学院]
cpp-httplib - 单个文件 C++11 标头专用 HTTP/HTTPS 服务器库。[麻省理工学院]
cpp-netlib - 用于高级网络编程的开源库集合。[提升]
cpp-netlib/uri - 适用于 C++ 的 URI 解析器/构建器库,与 RFC 3986 和 RFC 3987 兼容。[提升]
CppServer - 超快速且低延迟的异步套接字服务器和客户端C++库,支持TCP、SSL、UDP、HTTP、HTTPS、WebSocket协议和10K连接问题解决方案。[麻省理工学院]
cpr - 一个现代 C++ HTTP 请求库,具有简单但强大的界面。以 Python Requests 模块为模型。[麻省理工学院]网站
curlcpp - CURL(libcurl) 的面向对象的 C++ 包装器。[麻省理工学院]
curlpp -C++ 包装器。[麻省理工学院]
DPDK - 用于快速数据包处理的数据平面开发套件、库和驱动程序。[BSD-3-Clause & GPL-2.0]网站
Dyad.c - C 语言的异步联网 [MIT]
ENet - 可靠的 UDP 网络库。[麻省理工学院]网站
evpp - 使用 TCP/UDP/HTTP 协议的 C++ 高性能网络。[BSD]
适用于 C++ 的 FTP 客户端 - 用于发出 FTP 请求的 C++ 客户端。[麻省理工学院]
H2O - 支持 HTTP/1.x 和 HTTP/2 的优化 HTTP 服务器。它也可以用作库。[麻省理工学院]
HTTP 解析器 ⚡ - C 语言 [MIT] 的 http 请求/响应解析器
KCP - 一种快速可靠的 ARQ 协议,可帮助应用程序减少网络延迟。[麻省理工学院]
libcurl - 多协议文件传输库。[MIT/X 衍生许可证]
libhttpserver - 用于创建嵌入式 Rest HTTP 服务器(以及更多)的 C++ 库。[LGPL2.1]
Libmicrohttpd - GNU libmicrohttpd 是一个小型 C 库,旨在使 HTTP 服务器作为另一个应用程序的一部分运行变得容易。[LGPL v2.1+]
libpcap - 用于网络流量捕获的可移植 C/C++ 库。[BSD]网站
libquic - 从 Chromium 的 QUIC 实现中提取的 QUIC 协议库。[BSD]
librdkafka - 适用于 C 和 C++ 的 Apache Kafka 客户端库。[BSD-2-条款]
libwebsockets - 一种轻量级的纯 C WebSocket 实现,同时提供客户端和服务器库。[LGPL2.1 + 静态链接异常]网站
Lithium - 构建高性能 C++ HTTP 服务器,而无需成为 C++ 专家。[麻省理工学院]
lwIP - 轻量级 TCP/IP 堆栈。[修改后的 BSD]
mailio - mailio 是一个用于 MIME 格式和 SMTP、POP3 和 IMAP 协议的跨平台 C++ 库。[BSD]
Mongoose - 极其轻量级的 Web 服务器。[GPL2]
MQTT-C - 适用于嵌入式系统和 PC 的便携式 MQTT C 客户端。[麻省理工学院]网站
mTCP - 用于多核系统的高度可扩展的用户级 TCP 堆栈。[修改后的 BSD]
Muduo - Linux 中用于多线程服务器的 C++ 非阻塞网络库。[BSD]
nghttp2 - HTTP/2 C 库。[麻省理工学院]网站
nghttp3 - 用 C 语言编写的 HTTP/3 库。[MIT] 网站
Onion - C 语言的 HTTP 服务器库,设计为轻量级且易于使用。[阿帕奇2/GPL2]
™ PF_RING - 高速数据包处理框架。[LGPL-2.1]
PicoHTTPParser - 一个微小、原始、快速的 HTTP 请求/响应解析器。[麻省理工学院]
POCO ⚡ - C++ 类库和框架,用于构建在桌面、服务器、移动和嵌入式系统上运行的基于网络和 Internet 的应用程序。[提升]网站
Proxygen - Facebook 的 C++ HTTP 库集合,包括一个易于使用的 HTTP 服务器。[BSD]
RedPanda - 面向开发人员的流式数据平台。与 Kafka API 兼容。快 10 倍。[BSL]
RakNet - 面向游戏程序员的跨平台、开源 C++ 网络引擎。[BSD]
restclient-cpp - 适用于 C++ 的简单 REST 客户端。它为 HTTP 请求包装 libcurl。[麻省理工学院]
Seasocks - 简单、小型、C++ 嵌入式 Web 服务器,支持 WebSockets。[BSD]
tlse - 单个 C 文件 TLS 1.2/1.3 实现,使用 tomcrypt 作为加密库 [BSD-2-Clause]
TQUIC - 一个高性能、轻量级、跨平台的 QUIC 库,公开于 C 和 C++。[阿帕奇2]
Tufão - 基于 Qt 构建的 C++ 异步 Web 框架 [LGPL2]
uriparser - 严格符合 RFC 3986 的 URI 解析和处理库。[BSD-3-条款]
uWebSockets - μWS是最轻量级、高效且可扩展的WebSocket和HTTP服务器实现之一。[兹利布]
UCall - io_uring 上的高性能 SIMD 加速 RPC 库。[阿帕奇2]
WAFer - 基于 C 语言的轻量级软件平台,适用于可扩展的服务器端和网络应用程序。考虑 C 程序员的 node.js。[GPL2]
Wangle - 一个客户端/服务器应用程序框架,用于构建异步、事件驱动的现代 C++ 服务。[阿帕奇-2.0]
wdt - 一个可嵌入的库(和命令行工具),旨在通过多个 TCP 路径在 2 个系统之间尽可能快地传输数据。[BSD-3-条款]
WebSocket++ - 基于 C++/Boost Asio 的 websocket 客户端/服务器库。[BSD]
PcapPlusPlus - 一个多平台 C++ 网络嗅探和数据包解析和制作框架。[取消许可]
ZeroMQ - 高速、模块化异步通信库。[LGPL3/MPL2]网站
用于解析和操作 xlsx、pptx、docx 等的库。
DuckX - C++用于创建和修改 Microsoft Word (.docx) 文件的库。[麻省理工学院]
FreeXL - 一个开源库,用于从电子表格中提取有效数据。[MPL/GPL-2/LGPL-2]
libxls - 从 C/C++ 读取二进制 Excel 文件 [BSD-2-Clause]
libxlsxwriter - 用于创建 Excel XLSX 文件的 C 库。[BSD-2-条款]网站
OpenXLSX - 一个C++库,用于读取、写入、创建和修改 Microsoft Excel® (.xlsx) 文件。[BSD-3-条款]
SimpleXlsxWriter - 适用于 Microsoft Excel 2007 及更高版本的 XLSX 文件编写器。[zlib]
XLSX I/O - 用于读取和写入 .xlsx 文件的 C 库。[麻省理工学院]
用于解析和处理 PDF 文档的库。
libharu - 用于生成 PDF 的免费、跨平台、开源软件库。[zlib]
litePDF - 用于创建和编辑 PDF 文档的库,该文档通过设备上下文使用 GDI 函数来绘制页面内容。[LGPL v3 和 zlib]
MuPDF - 轻量级 PDF、XPS 和电子书查看器。[AGPL/专有]
PDF-Writer - 用于在 C++ 中创建、修改和解析 PDF 文件的高性能库 [Apache-2.0] 网站
pdfio - 用于读取和写入 PDF 文件的简单 C 库。[阿帕奇-2]网站
PDFium - PDF 生成和渲染库。[BSD-3-条款]
PoDoFo - 用于处理 PDF 文件格式的库。[LGPL]
Poppler - 基于 xpdf-3.0 代码库的开源多后端 PDF 渲染库。[GPLv2/GPLv3]
Xpdf - Xpdf 是一个免费的 PDF 查看器和工具包,包括文本提取器、图像转换器、HTML 转换器等。[GPL v2/GPL v3]
DynaPDF - 一个易于使用的 PDF 生成库。[商业]
动力学仿真引擎
Box2D - 用于游戏的 2D 物理引擎。[类 BSD]
Bullet - 用于游戏的 3D 物理引擎。[zlib]网站
Chipmunk - 一个快速、轻量级的 2D 游戏物理库。[麻省理工学院]网站
Jolt Physics - 一个多核友好的刚体物理和碰撞检测库。[麻省理工学院]
Kratos - 用于构建并行、多学科仿真软件的框架,旨在实现模块化、可扩展性和高性能。[BSD]网站
LiquidFun - 用于游戏的 2D 物理引擎。[类 BSD]
Newton Dynamics - 用于实时模拟物理环境的集成解决方案。[zlib]
ODE - Open Dynamics Engine - 用于模拟刚体动力学的开源高性能库。[BSD&LGPL]
ofxBox2d - Box2D 的 openFrameworks 包装器。[类 BSD]
PhysX - 由 Nvidia 开发的开源实时物理引擎中间件 SDK,作为 Nvidia GameWorks 软件套件的一部分。[BSD-3-条款]
PlayRho - 一个交互式物理引擎和库。[兹利布]
Project Chrono - 一个开源的多物理场模拟引擎。[BSD-3-条款]网站
Quantum++ - 现代 C++11 量子计算库。[麻省理工学院]
QuarkPhysics - 一个 2D 软体和刚体物理引擎。[麻省理工学院]
Simbody - 高性能 C++ 多体动力学/物理库,用于仿真关节生物力学和机械系统,如车辆、机器人和人体骨骼。[阿帕奇2]
SOFA - SOFA 是一个开源框架,以实时模拟为目标,侧重于医学模拟。[LGPL]网站
config-loader - 一个 C++17 静态反射框架,从解析配置文件到原生数据结构。[麻省理工学院]
更好的枚举 - 反射枚举(到字符串、迭代)。单个标头。[BSD]网站
clReflect - 使用 clang 的 C++ 反射。[麻省理工学院]
CPFG - 用于反射、回调和脚本绑定的 C++03 库。[阿帕奇2]
CPP-Reflection - 使用 clang 的 C++ 反射。[麻省理工学院]
Easy Reflection - 简单快速的反射 + 序列化解决方案,如 Rust、Java 或 Go。[阿帕奇]
Magic Enum - 仅标头 C++17 库为枚举(到字符串、从字符串、迭代)提供静态反射,适用于任何枚举类型,无需任何宏或样板代码。[麻省理工学院]
magic_get - std::tuple 类方法,适用于用户定义的类型,无需任何宏或样板代码。[提升]
meta - C++ 中的仅头文件、非侵入式和无宏运行时反射系统。[麻省理工学院]
Nameof - 仅头文件 C++17 库提供 nameof 宏和函数,用于获取变量、类型、函数、宏和枚举的简单名称。[麻省理工学院]
Ponder - 用于反射的 C++11 库。[麻省理工学院]
REFLECT - C++20 静态反射库。[麻省理工学院]
reflect-cpp - 通过反射进行序列化,包括从结构体中自动检索字段名称。[麻省理工学院]
RTTR - 用于反射的 C++11 库。[麻省理工学院]网站
simple_enum - 快速、直观且类型安全的 C++ 枚举支持库。[BSL-1.0] 网站
TSMP - 用于静态反射的无入侵和无宏 C++20 库。它使用 libclang 从源代码中提取反射数据,并通过模板专用化使其可用。[麻省理工学院]
visit_struct - 用于 C++ 中结构体场反射的微型库。[提升]
Refureku - 一个 C++17 运行时反射和代码生成库。[麻省理工学院]
CppVerbalExpressions - C++ 正则表达式变得简单。[麻省理工学院]
CTRE - 编译时 PCRE(几乎)兼容的正则表达式匹配器。[麻省理工学院]
Hyperscan - Hyperscan 是 Intel 的高性能多正则表达式匹配库。提供大量 regexp (最多数万) 的同时匹配。通常用于 DPI 库堆栈中。[BSD]
Oniguruma - 一个现代且灵活的正则表达式库,支持各种字符编码。[BSD]
PCRE - 一个正则表达式 C 库,其灵感来自 Perl 中的正则表达式功能。[BSD]
PIRE - Yandex 的 Perl 不兼容正则表达式库。可以非常快(超过 400 MB/s)。[LPGL v3.0]
RE2 - 使用自动机理论通过有限状态机进行正则表达式的软件库。[BSD-3-条款]
SLRE - 用于 C/C++ 的超轻量级正则表达式引擎。[GPLv2/专有]
sregex - 一个基于非回溯 NFA/DFA 的 Perl 兼容正则表达式引擎库,用于匹配大型数据流。[BSD]
SRELL - 适用于 C++ 的 Unicode 感知正则表达式模板库。[BSD]
Vectorscan - 高性能正则表达式匹配库的可移植分支。[BSD-3-条款]网站
MOOS-IvP - 一组开源 C++ 模块,用于在机器人平台(特别是自主海洋航行器)上提供自主性。
MRPT - 移动机器人编程工具包。[BSD]
PCL - 点云库是一个独立的、大规模的、开放的项目,用于 2D/3D 图像和点云处理。[BSD]网站
机器人库 (RL) - 用于机器人运动学、运动规划和控制的独立 C++ 库。[BSD]
RobWork - 用于仿真和控制机器人系统的 C++ 库集合。[阿帕奇2]网站
ROS - 机器人操作系统提供库和工具来帮助软件开发人员创建机器人应用程序。[BSD]
Ruckig - 机器人和机器的实时运动生成。[麻省理工学院]网站
YARP (Yet Another Robot Platform) - 用于通信和设备接口的库和工具包。[BSD-3-条款]网站
SPICE 工具包 - 用于计算几何信息的库和工具包,用于规划和分析从机器人航天器获得的科学观测。[麻省理工学院]网站
AMGCL - 一个仅头文件 C++ 库,用于求解具有代数多重网格的大型稀疏线性系统。[麻省理工学院]
Au - 一个与 C++14 兼容的物理单位库,没有依赖项,并提供单文件交付选项。强调安全性、辅助功能、性能和开发人员体验。[阿帕奇 2.0]网站
FFTW - 用于计算一个或多个维度的 DFT 的 C 库。[GPL]
GSL - GNU 科学库。[GPL]
preCICE - 用于分区多物理场仿真(FSI、CHT 等)的耦合库。[LGPL]网站
TileDB - 快速、密集和稀疏的多维数组 DBMS。[麻省理工学院]网站
Trilinos - 高性能 PDE 求解器。[BSD]
Torch - 一个科学计算框架,广泛支持机器学习算法,将 GPU 放在首位。[BSD-3-条款]网站
AngelScript - AngelScript 是一种面向游戏的解释 / 编译脚本语言。[zlib]
Boost.Python - 一个 C++ 库,可实现 C++ 和 Python 编程语言之间的无缝互操作性。[提升]网站
cppimport - 直接从 Python 导入 C++ 文件![麻省理工学院]
CppSharp - 用于将 C/C++ API 粘附到高级语言的工具和库。[麻省理工学院]
ChaiScript - 一种易于使用的 C++ 嵌入式脚本语言。[BSD]网站
ctypes.sh - bash 的外部函数接口。[麻省理工学院]
Cython - Cython 是针对 Python 编程语言和扩展 Cython 编程语言(基于 Pyrex)的优化静态编译器。它使编写 Python 的 C 扩展就像编写 Python 本身一样简单。[阿帕奇]网站
djinni - 用于生成跨语言类型声明和接口绑定的工具。[阿帕奇2]
Duktape - 一个可嵌入的 JavaScript 引擎,占用空间小。[麻省理工学院]网站
JavaCpp - Java 和本机 C++ 之间缺失的桥梁。[阿帕奇2]
JerryScript - 用于物联网的超轻量级 JavaScript 引擎。[Apache-2.0] 网站
libffi - 一个可移植的外部函数接口库。[麻省理工学院]网站
Lua - 用于配置文件和基本应用程序脚本的最小快速脚本引擎。[麻省理工学院]
LuaBridge - 一个轻量级、无依赖的库,用于将 Lua 绑定到 C++。[麻省理工学院]
LuaBridge3 - 一个轻量级、无依赖的库,用于将 Lua、LuaJIT、Luau 和 Ravi 绑定到 C++。[麻省理工学院]
luacxx - 用于创建 Lua 绑定的 C++11 API。[麻省理工学院]
Luau - 一种快速、小型、安全、逐渐键入的可嵌入脚本语言,源自 Lua。[麻省理工学院]网站
MiniScript - 现代、优雅、易于学习的脚本语言,易于嵌入到您自己的 C# 或 C++ 项目中。[麻省理工学院]
nanobind - 微小而高效的 C++/Python 绑定。[BSD-3-条款]
nbind - 神奇的头文件,可让您的 C++ 库可从 JavaScript 访问。[麻省理工学院]
PHP-CPP - 使用 C++ 构建 PHP 扩展的库。[阿帕奇2]网站
pocketpy - 用于游戏脚本的 C++17 仅头类 Python 解释器。[麻省理工学院]网站
pybind11 - C++11 和 Python 之间的无缝可操作性。[BSD]
QuickJS - 一个小型的可嵌入 JavaScript 引擎。[麻省理工学院]
SIP - 适用于 Python v2 和 v3 的 C 或 C++ 绑定生成器。[GPL]
sol2 - 一个C++<> Lua API 包装器,具有高级功能和一流的性能。[麻省理工学院]
SWIG - 一个包装器/接口生成器,可让您将 c++ 代码链接到 JavaScript、Perl、PHP、Python、Tcl 和 Ruby。[GPL/输出未授权]网站
txiki.js – 一个很小的 JavaScript 运行时。[麻省理工学院]
V7 - 嵌入式 JavaScript 引擎。[GPL2]
V8 - Google 的快速 JavaScript 引擎,可以嵌入到任何 C++ 应用程序中。[BSD]
v8pp - 仅头文件库,用于将 C++ 类和函数公开到 V8 中,以便在 JavaScript 代码中使用它们。[提升]网站
ChakraCore - Microsoft 的 JavaScript 引擎,可以嵌入到 nodejs 中。[麻省理工学院]
BitSerializer - 多格式序列化库(JSON、XML、YAML、CSV、MsgPack)[MIT]
Bitsery - 仅标头 C++ 二进制序列化库。[麻省理工学院]
Bond - 用于处理架构化数据的开源跨平台框架。[与]
Boost.Serialization - Boost 序列化库。[提升]网站
Cap'n Proto - 快速数据交换格式和基于功能的 RPC 系统。[麻省理工学院]网站
cereal - 用于序列化的 C++11 库。[BSD]
cista - 一个用于零拷贝高性能(去)序列化的 C++17 库。[麻省理工学院]
cppcodec - 仅标头 C++11 库,用于使用一致、灵活的 API 对 base64、base32 和十六进制进行编码/解码。[麻省理工学院]
FastBinaryEncoding - 快速二进制编码是适用于 C++、C#、Go、Java、JavaScript、Kotlin、Python、Ruby、Swift 的超快速通用序列化解决方案。[麻省理工学院]
FlatBuffers - 一个内存高效的序列化库。[阿帕奇2]
Kaitai Struct - 一种描述各种二进制数据结构的声明性语言,以及用于生成 C++ 解析器代码的编译器。[GPLv3+][麻省理工学院][阿帕奇2]
Iguana - 使用 C++20 和 C++17 开发的现代、通用且易于使用的序列化引擎。[阿帕奇2]
MessagePack - 适用于 C 和 C++ 的高效二进制序列化格式“如 JSON”。[阿帕奇2]网站
mrpt-serialization - 将版本控制序列化为二进制或文本格式。[BSD]网站
nanopb - ANSI C 中的小代码大小协议缓冲区实现 [Zlib]
protobuf - Protocol Buffers - Google 的数据交换格式。[BSD]
protobuf-c - C 语言中的协议缓冲区实现 [BSD]
Protocol Puffers - 一个用 C++20 编写的小型、高度模板化且与 protobuf 兼容的序列化/反序列化头文件专用库。[阿帕奇-2.0]
SimpleBinaryEncoding - 以二进制格式对应用程序消息进行编码和解码,以实现低延迟应用程序。[阿帕奇2]
upb - C语言中的小型 protobuf 实现 [BSD]
wirehair - 大型数据的 O(N) 喷泉代码。[BSD-3-条款]
YAS - 非常快速的 Yet A其他 S工程化库支持 binary/text/json 格式。[提升]
zpp_bits - 实际上,最快的现代 S语言库。只需查看此视频。
Asio - Asio 包含用于以可移植方式创建和操作串行端口的类。[提升]网站
Boost.Asio - Boost.Asio 包含用于创建和操作串行端口的类。[提升]网站
CSerialPort - 轻量级跨平台串口库。[LGPL3]
libserial - C++ 中的串行端口编程。[BSD-3-条款]
串行通信库 - 用 C++ 编写的跨平台串行端口库。[麻省理工学院]网站
cpp-sort - C++14的排序算法和相关工具。[麻省理工学院]
pdqsort -- 破坏模式的快速排序。[zlib]
Timsort - 一种模板化的稳定排序函数,对于反向或半排序数据,它的性能优于基于快速排序的算法,包括 std::sort。[麻省理工学院]
Indiesort - 一个排序包装器,使得在非随机访问容器中使用std::sort(和其他随机访问排序功能)成为可能,同时也提高了随机访问容器和数组中大型/非简单可复制类型的排序性能。[zLib]网站
libvpx - VP8/VP9 编解码器 SDK。[BSD]
FFmpeg - 一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。[LGPL2/GPL2]
avcpp - FFmpeg 的现代 C++ 包装器。[与]
libde265 - 打开 h.265 视频编解码器实现。[LGPL]网站
x265 - 打开 h.265 视频编解码器实现。[GPL2]网站
OpenH264 - 开源 H.264 编解码器。[BSD]网站
Theora - 一种免费且开放的视频压缩格式。[BSD]
Vireo - Twitter 提供的轻量级多功能视频处理库。[麻省理工学院]
CarpVM - C 语言中的“有趣”VM。让我们看看情况如何。[GPLv3]
MicroPython - 旨在将 Python 3.x 的实现放在微控制器上。[麻省理工学院]
TinyVM - 一个用纯 ANSI C 编写的小型、快速、轻量级的虚拟机。
Civetweb - 提供易于使用、功能强大的 C/C++ 嵌入式 Web 服务器,并提供可选的 CGI、SSL 和 Lua 支持。[麻省理工学院]
C++ REST SDK - Microsoft 项目,用于使用现代异步 C++ API 设计在本机代码中进行基于云的客户端-服务器通信。[麻省理工学院]
CppCMS - 一个免费的高性能 Web 开发框架(不是 CMS)。[LGPLv3]
Crow - Crow 是一个用于运行 Web 服务的 C++ 微框架。它使用类似于 Python 的 Flask 的路由。[BSD]网站
Cutelyst - 一个构建在 Qt 之上的 C++ Web 框架,使用 Catalyst (Perl) 框架的简单方法。[BSD-3-条款]网站
Drogon - 基于 C++14/17 的高性能 HTTP 应用程序框架。[麻省理工学院]
C++ wfrest - C++ Web 框架 REST API。[阿帕奇2]
facil.io - 事件化、高性能 C Web 框架,支持 HTTP、WebSockets、SSE 等。[麻省理工学院]网站
Kore - 用于 C 语言开发的 Web 应用程序的超快速灵活 Web 服务器/框架 [ISC]
libOnion - 帮助您使用 C 编程语言创建 Web 服务器的轻量级库。[LGPLv3]
lwan - 实验性的、可扩展的、高性能的 HTTP 服务器。[GPL2]
oat++ - 用于创建高性能 Web 服务的轻量级、零依赖性框架。[Apache-2.0] 网站
Pistache - Pistache 是用纯 C++11 编写的 C++ REST 框架,没有外部依赖。[阿帕奇2]
QDjango - 用 C++ 编写并构建在 Qt 库之上的 Web 框架。在可能的情况下,它会尝试遵循 Django 的 API,因此得名。[LGPL]
TreeFrog 框架 - 基于 C++ 和 Qt 的高速全栈 Web 应用程序框架,支持 HTTP 和 WebSocket 协议(带 O/R 映射)。[BSD]网站
userver - 异步 C++17 框架,具有一组丰富的抽象和数据库驱动程序,用于快速舒适地创建高效的微服务、服务和实用程序。[Apache-2.0] 网站
Wt - 用于开发 Web 应用程序的 C++ 库。[GPL/专有]
XML 是废话。真。没有任何借口。XML 对于人类来说解析起来很麻烦,即使对于计算机来说,解析起来也是一场灾难。这种可怕的废话根本没有理由存在。- 莱纳斯·托瓦兹
Boost.PropertyTree - 一个属性树解析器/生成器,可以用来解析 XML/JSON/INI/Info 文件。[提升]网站
Expat - 用 C 语言编写的 XML 解析器库 [MIT]
libxml2 - Gnome 的 XML C 解析器和工具包。[麻省理工学院]
libxml++ - 用于 C++ 的 XML 解析器。[LGPL2]
Mini-XML - 用 ANSI C 编写的小型 XML 解析库 [LGPL2 有例外]
PugiXML - 一个轻量级、简单、快速的 C++ XML 解析器,支持 XPath。[麻省理工学院]
RapidXml - 尝试创建尽可能快的 XML 解析器,同时保持可用性、可移植性和合理的 W3C 兼容性。[提升]
TinyXML - 一个简单、小巧、最小的 C++ XML 解析器,可以很容易地集成到其他程序中。[zlib]
TinyXML2 - 一个简单、小巧、高效的 C++ XML 解析器,可以很容易地集成到其他程序中。[zlib]
TinyXML++ - TinyXML 的全新接口,它使用了许多 C++ 优势。模板、异常和更好的错误处理。[麻省理工学院]
Xalan C - 一个库和一个命令行程序,用于使用符合 XSLT 1.0 标准的样式表转换 XML 文档。[Apache-2.0] 网站
Xerces-C++ - 以 C++ 的可移植子集编写的验证 XML 解析器。[阿帕奇2]
fkYAML - 仅限 C++ 头文件的 YAML 库。[与]
LibCYAML - 用于读取和写入 YAML 的 C 库。[国际检索中心]
libfyaml - 一个花哨的 1.2 YAML 和 JSON 解析器/编写器。[麻省理工学院]
LibYAML - 用于解析和发出 YAML 的 C 库。[麻省理工学院]网站
mini-yaml - 单头 YAML 1.0 C++11 序列化器/反序列化器。[神话]
rapidyaml - Rapid YAML 是一个用于解析和发出 YAML 的 C++ 库。[麻省理工学院]
yaml-cpp - C++ 中的 YAML 解析器和发射器。[麻省理工学院]
有用的库或工具,但不适合上述类别,或者可能尚未分类
access_profiler - 用于计算 c++ 程序中成员变量的访问次数的工具。[GPL3]
American fuzzy lop a.k.a. afl-fuzz - 疯狂的模糊测试工具,在给定时间和最少的示例输入下自动发现错误。[阿帕奇2]
Argon2 - 密码哈希 Argon2,PHC 获胜者。[CC0/阿帕奇 2]
更好的字符串 - C 字符串库的替代方案,功能更强大,没有缓冲区溢出溢出问题。还包括 C++ 包装器。[BSD、GPL2]
Boost.Signals2 - 托管信号和插槽系统的实现。[提升]网站
casacore - 一组源自 aips++ 的 c++ 核心库。[LGPL]
CCTZ - 一个 C++ 库,用于使用时区规则在绝对时间和民用时间之间进行转换。[阿帕奇-2.0]
HackingCPP 的作弊表 - 用于算法、视图、容器、随机性等的酷炫备忘单和信息图表。
Concord - 用 C 语言 [MIT] 网站编写的 Discord API 包装库
CPPItertools - 基于范围的 for 循环附加组件,其灵感来自 Python 内置函数和 itertools 库。[BSD-2-条款]
CPP-JWT - 适用于 C++ 的 JSON Web 令牌库。[麻省理工学院]
cpp-lazy - 一个快速简便的 C++11/14/17/20 惰性评估库。[麻省理工学院]
CRCpp - 易于使用且快速的 C++ CRC 库。[BSD-3-条款]
cxx-prettyprint - 一个漂亮的 C++ 容器打印库。[提升]
date - 基于 C++11/14/17 标头的日期和时间库。[麻省理工学院]网站
D++ (DPP) - 用于创建 Discord 机器人的轻量级、高性能和可扩展的 C++ 库。[Apache2] 网站
DynaMix - 一个允许您在运行时编写和修改对象的库。[麻省理工学院]
emio - 安全快速的高级和低级字符输入/输出库。[麻省理工学院]
faker-cxx - C++20 Faker 库,用于生成用于测试和开发的虚假(但真实)数据。[麻省理工学院]
fast_float - 快速、精确C++from_chars,比 strtod 快 4 到 10 倍,是 GCC 12、Chromium、Redis、Webkit/Safari 的一部分。[Apache2/BSL-1.0/麻省理工学院]
FastFormat - 受 log4j 和 Pantheios 启发的快速、安全的 C++ 格式化。[简化的 BSD]
fast_io - C++20 的输入/输出速度明显加快。[麻省理工学院]
fccf - 一个命令行工具,用于递归搜索目录以查找与搜索字符串匹配的 C/C++ 源代码。[麻省理工学院]
{fmt} ⚡ - 小型、安全、快速的 C++ 格式化库。[简化的 BSD]网站
gcc-poison - 一个简单的头文件,供开发人员从应用程序中禁止不安全的 C/C++ 函数。
happly - PLY 文件格式的 C++ 仅标头解析器。愉快地解析 .ply![麻省理工学院]
hedley - 一个 C/C++ 头文件,旨在消除一些特定于平台的烦恼。网站
HighwayHash - 快速强哈希函数:SipHash/HighwayHash。[阿帕奇-2.0]
inja - 现代 C++ 的模板引擎。[麻省理工学院]
Jinja2С++ - 几乎完全一致的模板引擎实现。网站
jwt-cpp - 一个仅用于标头的库,用于在 C++ 中创建和验证 JSON Web 令牌。[麻省理工学院]
Kangaru - C++11 和 C++14 的依赖项注入容器。[麻省理工学院]
Klib - 常见算法和数据结构的小型轻量级实现。[麻省理工学院]
libcpuid - 用于 x86 CPU 检测和功能提取的小型 C 库。[BSD]
libenvpp - 用于类型安全环境变量解析的现代 C++ 库。[阿帕奇-2.0]
libevil - 邪恶的许可证管理器。[GPLv3]
libnih - C 函数和结构的轻量级库。[GPL2.1]
libONVIF - 另一个 ONVIF 库。[GPL-3.0]
libpopcnt - 快速 C/C++ 位填充计数库。[BSD-2-条款]
libsigc++ - 标准 C++ 的类型安全回调系统。[LGPL]网站
libusb - 一个通用的 USB 库,允许对 USB 设备进行便携式访问。[LGPL2]
Mach7 - 用于 C++ 的模式匹配库。[BSD]
mio - 用于内存映射文件 IO 的跨平台 C++11 仅头文件库。[麻省理工学院]
MPark.Variant - C++11/14/17 的 C++17std::variant
。[BSL-1.0]
MPH - C++20 [Minimal] 静态完美哈希库。[麻省理工学院]
PEGTL - 解析表达式语法模板库。[麻省理工学院]
管道 - 用于在 C++ 中对集合进行表达性代码的管道。[麻省理工学院]
pprint - 现代 C++ 的漂亮打印机。[麻省理工学院]
pspsdk - 用于 PSP 自制程序开发的开源 SDK。[BSD/GNU GPL3]
QtVerbalExpressions - 此 Qt 库基于 C++ VerbalExpressions 库。[麻省理工学院]
rain - 最快的 128 位和 256 位非加密哈希值,通过所有测试,并且源代码行代码少于 140 行。[阿帕奇-2.0]
RapidFuzz - 使用 Levenshtein Distance 在 C++ 中进行快速模糊字符串匹配。[与]网站
rapidhash - 非常快速、高质量、独立于平台的哈希算法。[BSD-2-条款]
远程调用框架 - C++ 的进程间通信框架。[GPL2/专有]
reproc - 跨平台 (C99/C++11) 进程库。[麻省理工学院]
SafetyHook - C++23 过程挂钩库。[BSL-1.0]
scnlib - 用于现代 C++ 的 scanf。[Apache-2.0] 网站
Scintilla - 一个免费的源代码编辑组件。[麻省理工学院]
SDS - 用于 C 语言的简单动态字符串库 [BSD]
semver.c - ansi c 中的 semver 解析器和渲染。
sigslot - C++ 信号/插槽库。[公共域]
simdzone - 快速且符合标准的 DNS 区域解析器。[BSD-3-条款]
SimpleSignal - 高性能 C++11 信号。[公共域]
阶段 - 移动机器人模拟器。[GPL2]
stb ⚡ - 用于 C/C++ 的一系列单文件库。[公共域]
stdman - 一种工具,用于解析 cppreference 中的存档 HTML 文件,并为基于 Unix 的系统生成 groff 格式的手册页。[麻省理工学院]
StringZilla - 字符串库的哥斯拉,拆分、排序和洗牌大型文本数据集的速度比你说“东京塔”还快。[阿帕奇-2.0]
StrTk - 一个由高性能字符串处理例程组成的 C++ 库。[麻省理工学院]
tgbotxx - Telegram Bot C++ 库。[与]
tiny::optional - 替代 std::optional,不会不必要地浪费内存。[BSL-1.0]
Tulip Indicators - 一个包含100多个金融技术分析指标的C类库。[LGPL]
ub-canaries - C/C++ 程序的集合,这些程序试图让编译器利用未定义的行为。
值类别作弊表左值、右值等的 PDF 备忘单。[卡克 copyleft]
VarTypes - 一个功能丰富、面向对象的框架,用于管理 C++ / Qt4 中的变量。[LGPL]
通配符 - 一个简单的 C++ 仅标头模板库,使用通配符实现匹配。[BSL-1.0]
xxHash - 极快的非加密哈希算法。[BSD-2-条款]网站
xxhash_cpp - xxhash 库的端口到 C++17。[BSD-2-条款]
ZBar - 一个条形码扫描仪库,允许扫描照片/图像/视频流中的条形码并返回其值。[LGPL2]
ZXing - 一个开源、多格式的 1D/2D 条形码图像处理库,以 Java 实现,可移植到其他语言。[阿帕奇]
用于创建开发环境的软件。
C 或 C++ 编译器列表
8cc - 小型 C 编译器。
c - 一次性编译和执行 C“脚本”![麻省理工学院]
Clang - LLVM 的 C 编译器。支持 C++11/14/1z C11。由 LLVM 团队开发。[NCSA]
GCC - GNU 编译器集合。支持 C++11/14/1z C11 和 OpenMP。[GNU GPL3]
PCC - 一个非常古老的 C 编译器。支持 C99。
AMD C++ 编译器 - 由 AMD 开发。
英特尔 C++ 编译器 - 由英特尔开发。
LLVM - 模块化和可重用的编译器和工具链技术的集合。
Microsoft Visual C++ - MSVC,由 Microsoft 开发。
打开 WatCom - Watcom C、C++ 和 Fortran 交叉编译器和工具。[Sybase Open Watcom 公共许可证]
Oracle Solaris Studio - 用于 SPARC 和 x86 的 C、C++ 和 Fortran 编译器。支持 C++11。在 Linux 和 Solaris 上可用。[OTN 开发人员许可证]
TCC - Tiny C 编译器。[LGPL]
在线 C 或 C++ 编译器列表
codechef - 一个简单的在线编译器 CodeChef。
codepad - 一个在线编译器/解释器和一个简单的协作工具。
coliru - 支持各种 C++ 编译器的在线编译器/shell。
编译器资源管理器 - 提供程序集输出的交互式编译器。
CompileOnline - 在 Linux 上在线编译和执行 C++。
Ideone - 一个在线编译器和调试工具,允许您编译源代码并以 60 多种编程语言在线执行。
Programiz - 面向学习者和开发人员的在线编译器。
repl.it - 面向教育工作者、学习者和开发人员的强大而简单的工具和平台。
Rextester - 在线编译器,提供多种编译器(Clang、GCC、MSVC)和多种编辑器。
在线试用 - TIO 是一个在线口译员系列,适用于不断增长的实用和娱乐编程语言列表。
Wandbox - 一个在线的 Clang/GCC 编译器,提供 Boost。
paiza.io - 在线 C/C++ 编译器,具有多个文件支持功能、GitHub(gist) 集成和协作编辑。
InterviewBit - 一个简单易用的在线 C++ 编译器。
C 或 C++ 调试器列表
调试器比较 - 来自 Wikipedia 的 Debugger 列表。
GDB - GNU 调试器。
LLDB - LLDB 调试器。
Metashell - 一个交互式模板元编程 shell,其中包括 MDB 元调试器。
Valgrind - 用于内存调试、内存泄漏检测和分析的工具。
x64dbg - 适用于 Windows 的开源 x64/x32 调试器。
C 或 C++ 名义 IDE 列表。
Anjuta DevStudio - GNOME IDE。[GPL3]
AppCode - 基于 JetBrains 的 IntelliJ IDEA 平台构建的用于 Objective-C、C、C++ 和 JavaScript 开发的 IDE。
Cevelop - 基于 Eclipse CDT 的跨平台 C 和 C++ IDE,带有额外的插件。
CLion - 来自 JetBrains 的跨平台 C 和 C++ IDE。
Code::Blocks - 一个免费的 C、C++ 和 Fortran IDE。
CodeLite - 另一个跨平台、免费的 C 和 C++ IDE。[GPL2 插件除外]
color_coded - 用于基于 libclang 的突出显示的 vim 插件。[麻省理工学院]
Dev-C++ - 可移植的 C/C++/C++11 IDE。
Eclipse CDT - 基于 Eclipse 平台的功能齐全的 C 和 C++ IDE。
Embarcadero Dev-CPP - Dev-C++ 的一个分支,预装了新主题和现代编译器。[GPLv2]网站
Geany - 小型、快速、跨平台的 IDE。[GPL]
IBM VisualAge - IBM 的计算机集成开发环境系列。
Irony-mode - 由 libclang 提供支持的 Emacs 的 C/C++ 小调。
juCi++ - 集成了 libclang 的跨平台轻量级 C++ IDE。[麻省理工学院]
KDevelop - 一个免费的开源 IDE。
Microsoft Visual Studio - 来自 Microsoft 的 IDE。
Microsoft Visual Studio Code ⚡ - 来自 Microsoft 的开源 IDE。[麻省理工学院]网站
NetBeans - 主要用于使用 Java 进行开发的 IDE,但也使用其他语言(特别是 PHP、C/C++ 和 HTML5)进行开发。
Qt Creator ⚡ - 一个跨平台的 C++、JavaScript 和 QML IDE,是 Qt SDK 的一部分。[GPL3 有例外] 网站
rtags - 一个 c/c++ 客户端/服务器索引器,用于与基于 clang 的 emacs 集成。
Xcode - 由 Apple 开发。
YouCompleteMe - YouCompleteMe 是一个用于 Vim 的快速、键入时模糊搜索代码完成引擎。
cquery - 用于 vscode、emacs、vim 等的 C++ 代码完成引擎。
C Playground - 在线 C 编程 IDE - 一个在线 IDE,用于练习 C 编程,您可以在其中在线编写、编辑和运行代码。
Bazel - 来自 Google 的多语言、快速且可扩展的构建系统。[阿帕奇]
Bear - 用于生成 clang 工具编译数据库的工具。[GPLv3]
Buck - 一个快速构建系统,鼓励在各种平台和语言(包括 Facebook 开发和使用的 C++)上创建小型、可重用的模块。用 Java 编写。[阿帕奇]
build2 - 用于开发和打包 C/C++ 项目的跨平台构建、打包和依赖项管理工具链。[麻省理工学院]
Ccache - 快速的 C/C++ 编译器缓存。[GPLv3]
clib - C 编程语言的包管理器。[麻省理工学院]
CMake - 跨平台的免费开源软件,用于使用独立于编译器的方法管理软件的构建过程。[BSD]
Cget - Cmake 包检索。[提升]网站
Conan - C/C++ 包管理器,开源。[麻省理工学院]
CPM - 基于 CMake 和 Git 的 C++ 包管理器。
FASTBuild - 高性能、开源的构建系统,支持高度可扩展的编译、缓存和网络分发。
Hunter - CMake 驱动的 C++ 跨平台包管理器。[BSD-2]
MesonBuild - 一个开源的构建系统,旨在实现极快的速度,更重要的是,尽可能地对用户友好。
Ninja - 一个注重速度的小型构建系统。
Sccache - 适用于 C/C++ 的快速编译器缓存,具有跨平台支持和云支持的存储选项。
Scons - 使用 Python 脚本配置的软件构建工具。
Sconsolidator - Scons 为 Eclipse CDT 构建系统集成。
Spack - 一个灵活的软件包管理器,支持多个版本、配置、平台和编译器。[阿帕奇-2.0/麻省理工学院]
SW - 跨平台 C++(和其他语言)构建系统和包管理器,提供大量包。[GPLv3]
tundra - 高性能代码构建系统,旨在为非常大的软件项目提供尽可能好的增量构建时间。
tup - 基于文件的构建系统,在后台监控已更改的文件。
Premake - 一个配置了 Lua 脚本的工具,用于在 Windows、Mac OS X 和 Linux 上为 Visual Studio、GNU Make、Xcode、Code::Blocks 等生成项目文件。
vcpkg - 适用于 Windows、Linux 和 MacOS 的 C++ 库管理器。[麻省理工学院]
waf - 基于 Python 的框架,用于配置、编译和安装应用程序。[BSD]网站
XMake - 基于 Lua 的 C/C++ 跨平台构建实用程序。[阿帕奇]
通过代码分析提高质量和减少缺陷的工具列表
Cppcheck - 用于静态 C/C++ 代码分析的工具。- 来源
CppDepend - 通过分析和可视化代码依赖关系、定义设计规则、进行影响分析以及比较代码的不同版本,简化复杂 C/C++ 代码库的管理。
cpplint - 遵循 Google 的 C++ 样式指南的 C++ 样式检查器。
PVS-Studio - 用于程序源代码中的错误检测工具,用 C、C++ 和 C# 编写。
cpp-dependencies - 用于检查C++#include 依赖项的工具(以 .dot 格式创建的依赖项关系图)。[阿帕奇]
include-what-you-use - 与 clang 一起使用以分析 C 和 C++ 源文件中的包含的工具。网站
Infer - 用于 Java、C 和 Objective-C 的静态分析器。[BSD]
OCLint - 一种静态源代码分析工具,用于提高 C、C++ 和 Objective-C 的质量并减少缺陷。- 来源
Clang Static Analyzer - 一种源代码分析工具,用于查找 C、C++ 和 Objective-C 程序中的错误。
Linticator - Pc-/FlexeLint 的 Eclipse CDT 集成。
IKOS - 基于抽象解释理论的 C/C++ 静态分析器。[NOSA 1.3]
静态代码分析工具列表 - 维基百科中的静态代码分析工具列表。
OptView2 - 检查错过的 Clang 优化。
Trunk - 用于检查、测试、合并和监控代码的工具包。
艺术风格 - 用于格式化 C/C++/C#/Obj-C/Java 代码的工具。也称为 astyle。
ClangFormat - 用于格式化 C/C++/Obj-C 代码的工具。
Clang-Tidy - 基于 Clang 的 C++ Linter 工具。
EditorConfig - EditorConfig 有助于在不同编辑器和 IDE 之间保持一致的编码样式。
Uncrustify - 代码美化器。
各种资源,例如书籍、网站和文章,用于提高您的 C++ 开发技能和知识。
精彩的 C++ 相关文章。
CppCon 2023 演示材料 - CppCon 2023 演示材料。
CppCon 2022 演示资料 - CppCon 2022 演示资料。
CppCon 2021 演示资料 - CppCon 2021 演示资料。
CppCon 2020 演示材料 - CppCon 2020 演示材料。
CppCon 2019 演示资料 - CppCon 2019 演示资料。
CppCon 2018 演示资料 - CppCon 2018 演示资料。
CppCon 2017 演示资料 - CppCon 2017 演示资料。
CppCon 2016 演示资料 - CppCon 2016 演示资料。
CppCon 2015 演示资料 - CppCon 2015 演示资料。
CppCon 2014 演示资料 - CppCon 2014 演示资料。
C++Now 2023 演示文稿 - 在 C++Now 2023 上展示的演示材料。
C++Now 2022 演示文稿 - 在 C++Now 2022 上展示的演示材料。
C++Now 2021 演示文稿 - 在 C++Now 2021 上展示的演示材料。
C++Now 2019 演示文稿 - 在 C++Now 2019 上展示的演示材料。
C++Now 2018 演示文稿 - 在 C++Now 2018 上演示的演示文稿材料。
C++Now 2017 演示文稿 - 在 C++Now 2017 上演示的演示文稿材料。
C++Now 2016 演示文稿 - 在 C++Now 2016 上演示的演示文稿材料。
C++Now 2015 演示文稿 - 在 C++Now 2015 上演示的材料。
C++Now 2014 演示文稿 - 在 C++Now 2014 上演示的材料。
C++Now 2013 演示文稿 - 在 C++Now 2013 上演示的材料。
C++Now 2012 演示文稿 - 在 C++Now 2012 上演示的材料。
很棒的 C 或 C++ 相关书籍。
免费 C 或 C++ 书籍列表
免费 C 类书籍 - vhf/free-programming-books/C.
免费 C++ 书籍 - vhf/free-programming-books/C++。
cppbestpractices - C++ 最佳实践的协作集合。
C++ 核心准则 - C++ 准则的“官方”集,由 C++ 的作者审阅。
C++ 该做和不该做 - 面向开发人员的 Chromium 项目> > 编码风格>C++该做和不该做。
google-styleguide - 由 Google 发起的开源项目的样式指南。- Google C++ 风格指南
- GNU 编码标准
Linux 内核编码风格- LLVM 编码标准
C++ 会议 - C++ 会议目录
CppCon Talks ⚡ - C++ 会议。
使用 C++11/C++14 进行快速游戏开发 - Vittorio Romeo 在 CppCon 2014 上发表的演讲。
Hana for C++Now 2015 演示文稿
Meeting CPP - Meeting C++ YouTube 频道
精彩的 C 或 C++ 相关视频。
C 或 C++ YouTube 视频列表
高清 [HD] 的精彩 C 编程教程 - 为初学者和新手程序员提供的详细 C 编程语言教程集合。
C++ - 由 VoidRealms 提供。
C++ Qt 编程 - 由 VoidRealms 提供。
C++ 编程教程播放列表 - TheNewBoston 官方 Buckys C++ 编程教程播放列表。
来自 thenewboston 的 C++ 编程教程 - 这些是 thenewboston 的所有 C++ 编程教程。
带有 Qt 播放列表的 C++ GUI - 带有 Qt 教程的新波士顿 C++ GUI 的官方播放列表。
Caleb Curry 的 C 编程教程 - C 编程教程的一体化播放列表。
C 编程教程 - TheNewBoston 的所有 C 编程教程都在这里。
Bo Qian 的播放列表 - Boost 库、C++ 标准库、现代 C++、高级 C++、高级 STL ...
The Cherno's C++ 播放列表 - The Cherno 提供的详尽 C++ 教程系列。
Code for Yourself C++ 播放列表 - 一门完整的 C++ 课程,涵盖从基础知识到软件设计的所有内容。
有用的 C 或 C++ 相关网站。
标准C++ ⚡ - 关于标准C++的新闻、状态和讨论。
Build Bench - 比较 C++ 版本。
Quick Bench - 快速 C++ 基准测试。
CppCon - C++ 会议。
C++ 参考 - C 和 C++ 语言以及标准库的完整在线参考。
C++ 示例 - 通过示例学习 C++。
cplusplus.com - C++ 资源网络。
C 常见问题 - C 常见问题。
C++ 常见问题解答 - C++ 常见问题。
C++ FQA Lite - C++ 经常质疑答案。
C++ 测验 - 一个简单的在线测验,您可以使用它来测试您对 C++ 编程语言的了解。
本周大师 - 由 Herb Sutter 创建和编写的一系列常规 C++ 编程问题。- 会议 C++
PVS-Studio 的挑战 - PVS-Studio 的 C++ 测验,要求您在开源项目的代码片段中查找错误。
Udemy C++ 课程和教程
C++ 提示 - PVS-Studio 团队每个工作日都会提示最常见的 C++ 错误和解决这些错误的方法。
C++ 教程 - 一个用户排名的在线教程银行网站,显示多门学习 C++ 的课程。
面向初学者的 C++ 教程 - 由训练有素的专家策划的有关 C++ 的完整教程。
cppexpert.online - 通过改进存在一些问题或不良做法的代码片段,了解最佳C++做法。
C++ for yourself - 关于现代 C++ 的综合教程,涵盖从基础知识到软件设计的所有内容。
有用的 C 或 C++ 相关博客。
Coding For Speed - Coding For Speed DOT COM,更短的执行时间。- 埃里克·尼布勒
- 粘性钻头
- Paul Fultz II 的博客
ridiculousfish - 它会优化吗?- 嵌入学术界
- 简化 C++
- Fluent C++
- Bartek 的编码博客
- 肯尼·科尔
- 萨特磨坊
- Vorbrodt 的 C++ 博客
- foonathan::blog()
C++ 团队博客 - 来自 Microsoft Visual C++ 团队的开发博客
有用的代码、片段......
算法 - C++中的算法和数据结构。
c-algorithms - C 算法库。- 30 秒的 C++
其他令人赞叹的名单
lists - 在 GitHub 上策划的(很棒的)列表列表。
awesome-awesomeness - 精选的 awesome awesomeness 列表。
awesome ⚡ - 精选的 awesome 列表。
C++ 链接 - C++ 资源的分类列表。
很棒的 C++ - LibHunt 的镜像。- 好极了 C 1
- 好极了 C 2
很棒的现代 C++ - 有关现代 C++ 的资源集合。
AwesomePerfCpp - 出色的 C/C++ 性能优化资源的精选列表。
free-programming-books - 免费提供的编程书籍列表。
Inqlude - Qt 库存档。
papers-we-love - 来自计算机科学社区的可供阅读和讨论的论文。
awesome-algorithms - 学习和/或练习算法的精选位置列表。
awesome-hpp - 一个精选的仅限头文件的 C++ 库列表。
awesome-talks - 大量的截屏视频、用户组聚会和会议演讲的录音。
Projects (项目) - 任何人都可以用任何编程语言解决的实际项目列表。
很棒的面试问题 - 最流行技术(包括 C 和 C++)的面试问题列表。
nothings/single_file_libs ⚡ - 单文件 C/C++ 库列表。
此列表目前为空,但您可以通过打开合并请求来添加它。
如果您有兴趣赞助此存储库,请联系我们。您公司的名称和徽标将在此处突出显示。