# Awesome_c-cpp_Projects **Repository Path**: wanghui999999/Awesome_c-cpp_Projects ## Basic Information - **Project Name**: Awesome_c-cpp_Projects - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-17 - **Last Updated**: 2025-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
💼 收录和整理 500+ 个高质量、开源的 C/C++ 项目,分类清晰、简介简练
🚀 持续更新中 | 涵盖工具库、网络框架、图形引擎、系统组件等多个方向
--- ## 📚 项目宗旨 - 💡 帮助初中高级开发者快速定位优秀的 C/C++ 开源项目 - 🔰 提供真实工程案例助你提升项目经验 - 🔍 分类清晰、持续更新,适合刷项目、做学习笔记、做课程设计、做开源研究 > 本项目旨在成为一个 **长期维护的优质 C/C++ 项目清单**,欢迎大家一起参与贡献! #### 目录 - [c/c++ 项目源码学习](#cc-源码学习) - [标准支持库](#标准支持库) - [音频](#音频) - [视频](#视频) - [多媒体](#多媒体) - [通信](#通信) - [压缩](#压缩) - [密码与安全](#密码与安全) - [框架](#框架) - [c/c++ 教程笔记](#cc-教程笔记) - [c/c++ 精选使用工具库/编程辅助](#cc-实用工具库--编程辅助) - [日志](#日志记录) - [参数解析器](#参数解析器) - [基准测试](#基准测试) - [并发](#并发) - [debug](#debug) - [web开发相关](#web-开发相关) - [数据格式](#数据格式) - [脚本](#脚本) - [机器学习与深度学习](#机器学习与深度学习) - [数据格式化与可视化](#数据格式化与可视化) - [文档生成工具](#文档生成工具) - [文档解析工具](#文档解析工具) - [数据结构与算法](#数据结构与算法) - [数据查询](#数据查询) - [嵌入式](#嵌入式) - [数字信号处理](#数字信号处理) - [数学](#数学) - [游戏引擎](#游戏引擎) - [内存分配](#内存分配) - [网络](#网络) - [反射](#反射) - [科学计算/高性能计算](#科学计算--高性能计算) - [数据库](#数据库) - [企业级/工程级组件](#企业级--工程级组件) - [小游戏](#游戏) - [Android / 虚拟化 / 容器运行相关](#android--虚拟化--容器运行相关) - [图形](#图形) - [图像处理](#图像处理) - [事件处理机制](#事件处理机制) - [人工智能](#人工智能) - [开发工具](#开发工具) - [学习网站](#学习网站) --- ### C/C++ 源码学习 | 项目 | 简介 | |--------|------| | [calculator](https://github.com/microsoft/calculator) | 计算器应用涵盖基础和高级计算功能,代码现代且结构清晰 | | [HP-Socket](https://gitee.com/ldcsaa/HP-Socket) | 高性能网络通信框架 | | [hikyuu](https://github.com/fasiondog/hikyuu) | 基于 C++/Python 的开源量化交易研究框架 | | [apolloauto](https://www.oschina.net/p/apolloauto) | 开源自动驾驶平台 | | [tcpcopy](https://github.com/session-replay-tools/tcpcopy) | 分布式图片实时动态压缩 | | [tensorflow](https://github.com/tensorflow/tensorflow) | 机器学习系统 | | [seafile](https://github.com/haiwen/seafile) | 开源网盘云存储 | | [TinyWebServer](https://github.com/qinguoyi/TinyWebServer) | 使用C++11编写的高性能 Web 服务器,适合用作网络编程与多线程并发 | | [libqalculate](https://github.com/Qalculate/libqalculate) | 功能非常强大的跨平台 数学计算库 | --- ### 标准/支持库 | 项目 | 简介 | |--------|------| | [bitflags](https://github.com/bitflags/bitflags) | 轻松管理一组标志 | | [cpp-typelist](https://github.com/lipk/cpp-typelist) | C++20 的现代 typelist | | [expected](https://github.com/TartanLlama/expected) | C++11/14/17 | | [flux](https://github.com/tcbrindle/flux) | 一个用于序列化编程的 C++20 库 | | [GSL](https://github.com/microsoft/GSL) | 由 Microsoft 开发的 ISO C++指南支持库(GSL) | | [hana](https://github.com/boostorg/hana) | metaprogramming标准库 | | [libunifex](https://github.com/facebookexperimental/libunifex) | 统一执行器 | | [WIL](https://github.com/microsoft/wil) | 适用于常见 Windows 编程模式的易读型类型安全 C++接口 | | [The GNU C Library](https://www.gnu.org/software/libc/manual) | 本手册的目的是告诉您如何使用 GNU C 库的功能 | | [C++ Standard Library](https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) | 一组类和函数的集合,这些类和函数是用核心语言编写的,并且是 C++ ISO 标准本身的一部分 | --- ### 音频 | 项目 | 简介 | |--------|------| | [miniaudio](https://github.com/mackron/miniaudio) | 用 C 语言编写的音频播放和捕获库 | | [minimp3](https://github.com/lieff/minimp3) | 极简主义 MP3 解码单头文件库 | | [Amplitude Audio SDK](https://github.com/SparkyStudios/AmplitudeAudioSDK) | 一款跨平台音频引擎,专为游戏需求设计 | | [Aubio](https://github.com/aubio/aubio) | 用于音频和音乐分析的库 | | [AudioFile](https://github.com/adamstark/AudioFile) | 一个用于读写音频文件的简单 C++ 库 | | [audioFlux](https://github.com/libAudioFlux/audioFlux) | 一个用于音频与音乐分析、特征提取的 C 语言库 | | [dr\_libs](https://github.com/mackron/dr_libs) | 单文件音频解码库,适用于 C 和 C++ | | [FMOD](http://www.fmod.org/) | 易用的跨平台音频引擎及游戏音频内容创建工具 | | [KFR](https://www.kfrlib.com/) | 快速、现代的 C++ DSP 框架,支持 FFT、FIR/IIR 滤波器、采样率转换等 | | [LAME](https://lame.sourceforge.io/using.php) | 高质量的 MPEG 音频层 III(MP3)编码器 | | [libsndfile](https://github.com/erikd/libsndfile/) | C 语言库(带 C++ 封装)用于通过标准接口读写采样声音文件 | | [libsoundio](https://github.com/andrewrk/libsoundio) | 跨平台实时音频输入输出的 C 语言库 | | [Maximilian](https://github.com/micknoise/Maximilian) | C++ 音频与音乐数字信号处理(DSP)库 | | [OpenAL](http://www.openal.org/) | 开放音频库,一个跨平台音频 API | | [miniaudio](https://github.com/mackron/miniaudio) | 单文件音频播放与采集库 | | [ni-media](https://github.com/NativeInstruments/ni-media) | 用于读写音频文件的 C++ 库 | | [Opus](http://opus-codec.org/) | 完全开放、免版税、用途广泛的音频编解码器 | | [PortAudio](http://www.portaudio.com/) | 免费的跨平台开源音频输入输出库 | | [rnnoise](https://github.com/xiph/rnnoise) | 用于音频降噪的循环神经网络 | | [SELA](https://github.com/sahaRatul/sela) | 简单的无损音频格式 | | [SoLoud](https://github.com/jarikomppa/soloud) | 简单、可移植的游戏音频引擎 | | [Speex](http://www.speex.org/) | 免费的语音编解码器,已被 Opus 替代 | | [Tonic](https://github.com/TonicAudio/Tonic) | 简洁高效的 C++ 音频合成库 | | [Vorbis](http://xiph.org/vorbis/) | Ogg Vorbis 是一种完全开放、非专利、免版税的通用压缩音频格式 | | [minimp3](https://github.com/lieff/minimp3) | 公有领域、仅头文件实现的 MP3 解码器,采用独立开发实现。 | | [Verovio](https://github.com/rism-ch/verovio) | 快速轻量的音乐符号排版引擎 | | [Wav2Letter++](https://github.com/facebookresearch/wav2letter/) | 公有领域的快速开源语音处理工具包,完全用 C++ 编写,并使用 ArrayFire 和 Flashlight 库实现高效计算。 | --- ### 视频 | 项目 | 介绍 | |---|---| | [libvpx](http://www.webmproject.org/code/) | VP8/VP9 编解码器 SDK。 | | [FFmpeg](https://www.ffmpeg.org/) | 一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。 | | [avcpp](https://github.com/h4tr3d/avcpp) | FFmpeg 的现代 C++ 封装。 | | [libde265](https://github.com/strukturag/libde265) | 开源 h.265 视频编解码器实现。 | | [x265](https://bitbucket.org/multicoreware/x265_git/src) | 开源 h.265 视频编解码器实现。 | | [OpenH264](https://github.com/cisco/openh264) | 开源 H.264 编解码器。 | | [Theora](http://www.theora.org/) | 一种免费、开放的视频压缩格式。 | | [Vireo](https://github.com/twitter/vireo/) | Twitter 开发的一个轻量级、多功能的视频处理库。 | --- ### 多媒体 | 项目 | 介绍 | |---|---| | [GStreamer](http://gstreamer.freedesktop.org/) | 一个用于构建媒体处理组件图的库。 | | [libass](https://github.com/libass/libass) | 适用于 ASS/SSA 字幕格式的可移植字幕渲染器。 | | [libav](https://github.com/libav/libav) | 一组用于处理音频、视频、字幕和相关元数据等多媒体内容的库和工具。 | | [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) | 使用开放标准协议 (RTP/RTCP, RTSP, SIP) 的多媒体流媒体库。 | | [libVLC](https://wiki.videolan.org/LibVLC) | libVLC (VLC SDK) 媒体框架。 | | [MediaInfoLib](https://github.com/MediaArea/MediaInfoLib) | 方便地统一显示视频和音频文件最相关的技术和标签数据。 | | [QtAv](https://github.com/wang-bin/QtAV) | 一个基于 Qt 和 FFmpeg 的多媒体播放框架,可轻松编写播放器。 | | [SDL](https://github.com/libsdl-org/SDL) | 简单直接媒体层。 | | [SFML](https://github.com/SFML/SFML) | 简单快速多媒体库。 | | [TagLib](https://github.com/taglib/taglib) | 一个用于读取和编辑多种流行音频格式元数据的库。 | --- ### 通信 | 项目 | 简介 | |--------|------| | [comms_champion](https://github.com/commschamp/comms_champion) | 在 C++11 及以上实现二进制通信协议 | --- ### 压缩 | 项目 | 简介 | |--------|------| | [Gzip](https://github.com/mapbox/gzip-hpp) | 一个仅包含头文件的 Gzip C++库 | | [interpolative_coding](https://github.com/jermp/interpolative_coding) | 二进制插值编码算法 | | [zstr](https://github.com/mateidavid/zstr) | 一个 C++的 header-only ZLib 包装器 | --- ### 密码与安全 | 项目 | 简介 | |--------|------| | [cppcodec](https://github.com/tplgy/cppcodec) | 编码/解码 base64、base64url、base32 等 | | [digestpp](https://github.com/kerukuro/digestpp) |C++11 头文件消息摘要库 | | [plusaes](https://github.com/kkAyataka/plusaes) | 仅包含头文件的 C++ AES 加密库 | --- ### 框架 | 项目 | 简介 | | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | | [ANNetGPGPU](https://github.com/ANNetGPGPU/ANNetGPGPU) | 基于 GPU(CUDA)实现的人工神经网络库 | | [btsk](https://github.com/aigamedev/btsk) | 游戏用行为树入门工具包 | | [Evolving Objects](http://eodev.sourceforge.net/) | 一个基于模板的 ANSI-C++ 进化计算库,可帮助你非常快速地编写随机优化算法。 | | [frugally-deep](https://github.com/Dobiasd/frugally-deep) | 一个仅头文件库,用于在 C++ 中使用 Keras 模型 | | [Genann](https://github.com/codeplea/genann) | 用 C 编写的简单神经网络库 | | [MXNet](https://github.com/apache/incubator-mxnet) | 轻量、可移植、灵活的分布式/移动端深度学习框架,支持动态、可变的数据流图调度器;支持 Python、R、Julia、Scala、Go、JavaScript 等语言。 | | [PyTorch](https://github.com/pytorch/pytorch) | 在 Python 中具有强大 GPU 加速的张量和动态图神经网络框架 | | [flashlight](https://github.com/flashlight/flashlight) | 一个完全用 C++ 编写的快速灵活的机器学习库 | | [Recast/Detour](https://github.com/recastnavigation/recastnavigation) | 三维导航网格生成与路径规划器,主要用于游戏开发 | | [TensorFlow](https://github.com/tensorflow/tensorflow) | 一个使用数据流图进行数值计算的开源软件库 | | [Txeo](https://github.com/rdabra/txeo) | TensorFlow 的现代 C++ 封装库 | | [oneDNN](https://github.com/oneapi-src/oneDNN) | 一款用于深度学习应用的跨平台高性能开源库 | | [CNTK](https://github.com/Microsoft/CNTK) | 微软认知工具包(CNTK),一个开源深度学习工具包 | | [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) | C++11 实现的头文件式、无依赖的深度学习框架 | | [Veles](https://github.com/Samsung/veles) | 一个分布式平台,用于快速开发深度学习应用 | | [Kaldi](https://github.com/kaldi-asr/kaldi) | 用于语音识别的工具包 | | [abseil-cpp](https://github.com/abseil/abseil-cpp) | Abseil C++ 通用库。 | | [AUI](https://github.com/aui-framework/aui) | 适用于 C++20 的声明式 UI 工具包。 | | [Boost](https://github.com/boostorg) | 大量的通用 C++ 库集合。 | | [BDE](https://github.com/bloomberg/bde) | 彭博实验室的 BDE 开发环境。 | | [C++ Workflow](https://github.com/sogou/workflow) | C++ 并行计算和异步网络引擎。 | | [CGraph](https://github.com/ChunelFeng/CGraph) | 一个不依赖任何第三方的基于 C++ 的跨平台 DAG 框架。 | | [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) | 一个小型、仅头文件的库,将较新 C++ 标准的各种功能反向移植到 C++03 及更高版本。 | | [Dlib](https://github.com/davisking/dlib) | 一个用于在 C++ 中构建实际机器学习和数据分析应用的工具包。 | | [EASTL](https://github.com/electronicarts/EASTL) | Electronic Arts 标准模板库。 | | [ETL](https://github.com/ETLCPP/etl) | 嵌入式模板库。 | | [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) | 企业应用开发框架。 | | [Folly](https://github.com/facebook/folly) | Facebook 开发和使用的开源 C++ 库。 | | [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) | 适用于 C++ 的函数式编程库。编写简洁易读的 C++ 代码。 | | [GLib](https://wiki.gnome.org/Projects/GLib) | GLib 为用 C 语言编写的库和应用程序提供核心应用构建模块。 | | [itlib](https://github.com/iboB/itlib) | 一系列类似 std 的单头文件 C++ 库。 | | [Kigs framework](https://github.com/Kigs-framework/kigs) | 一个免费开源的 C++ 模块化多用途跨平台 RAD 框架。 | | [libPhenom](https://github.com/facebook/libphenom) | libPhenom 是一个事件处理框架,用于在 C 语言中构建高性能和高可伸缩性系统。 | | [LibSourcey](https://github.com/sourcey/libsourcey) | 适用于实时视频流和高性能网络应用的 C++11 事件驱动 I/O。 | | [MiLi](https://github.com/MariadeAnton/MiLi) | 最小的仅头文件 C++ 库。 | | [OpenFrameworks](https://github.com/openframeworks/openFrameworks) | 一个用于 C++ 创意编程的跨平台开源工具包。 | | [PhotonLibOS](https://github.com/alibaba/PhotonLibOS) | 一个全面的 C++ 框架,具有高效的用户空间线程(带工作窃取的协程)、I/O、网络、RPC、HTTP 等功能,并在阿里巴巴广泛使用。它兼容 C++ 14/17/20/23、Linux、MacOS、x86-64、ARM64、gcc 和 clang。 | | [Qt](https://github.com/qt) | 一个跨平台应用程序和 UI 框架。 | | [Reason](http://code.google.com/p/reason/) | 一个跨平台框架,旨在为需要 C++ 性能和强度的开发人员带来 Java、.Net 或 Python 的易用性。 | | [SaneCppLibraries](https://github.com/Pagghiu/SaneCppLibraries) | 一组适用于 macOS、Windows 和 Linux 的 C++ 平台抽象库。 | | [STLport](http://www.stlport.org/) | 一个 STL 的示例版本。 | | [STXXL](http://stxxl.sourceforge.net/) | 用于超大数据集的标准模板库。 | | [Ultimate++](http://www.ultimatepp.org/) | 一个 C++ 跨平台快速应用开发框架。 | | [Windows Template Library](http://sourceforge.net/projects/wtl/) | 一个用于开发 Windows 应用程序和 UI 组件的 C++ 库。 | --- ### C/C++ 教程笔记 | 项目 | 简介 | |--------|------| | [CPlusPlusThings](https://github.com/Light-City/CPlusPlusThings) | 系统整理现代 C++ 知识点,含并发、设计模式、面试题 | | [Cpp-Primer-Answers](https://github.com/Mooophy/Cpp-Primer) | C++ Primer(第五版)习题答案与详解 | | [The-Art-Of-Programming-By-July](https://github.com/julycoding/The-Art-Of-Programming-By-July) | 编程之美题解合集,含大量 C/C++ 算法题 | | [cpp_new_features](https://github.com/0voice/cpp_new_features) | 简洁整理的 C++11/14/17/20 特性速查笔记 | --- ### C/C++ 实用工具库 & 编程辅助 | 项目 | 简介 | | ------------------------------------------------------- | ------------------------------------------ | | [**fmt**](https://github.com/fmtlib/fmt) | 快速、安全、现代的 C++ 格式化库,C++20 `std::format` 的前身 | | [**spdlog**](https://github.com/gabime/spdlog) | 高性能日志库,基于 `fmt` 实现 | | [**log.c**](https://github.com/rxi/log.c) | 轻量级 C 日志库,单文件实现 | | [**dbg-macro**](https://github.com/sharkdp/dbg-macro) | 强大且美观的 C++ 调试宏工具 | | [**libzippp**](https://github.com/ctabin/libzippp) | ZIP 文件读写封装,基于 libzip 的 C++ 包装器 | | [**miniz**](https://github.com/richgel999/miniz) | 单文件压缩库,支持 ZIP、Deflate、zlib 等格式 | | [**uthash**](https://github.com/troydhanson/uthash) | 在 C 结构体上实现哈希表的头文件库 | | [**inih**](https://github.com/benhoyt/inih) | 极简 INI 配置文件解析器 | | [**cista**](https://github.com/felixguendling/cista) | 高性能序列化与持久化库 | | [**cereal**](https://github.com/USCiLab/cereal) | 现代 C++ 序列化库 | | [**nanopb**](https://github.com/nanopb/nanopb) | 面向嵌入式的 Protocol Buffers 实现 | | [**SQLiteCpp**](https://github.com/SRombauts/SQLiteCpp) | SQLite 的 C++ 封装库 | | [**sqlite\_orm**](https://github.com/fnc12/sqlite_orm) | 纯现代 C++ 实现的 SQLite ORM | | [**ctpl**](https://github.com/vit-vit/ctpl) | 简洁的线程池实现 | | [**zlog**](https://github.com/HardySimpson/zlog) | 快速、高可靠的 C 日志库,支持分级和异步 | | [**linenoise**](https://github.com/antirez/linenoise) | 轻量的 readline 替代品,适用于 CLI 应用 | | [**indicators**](https://github.com/p-ranav/indicators) | 美观的 CLI 进度条库(C++) | --- ### 日志记录 | 项目 | 介绍 | |---|---| | [Abseil Logging](https://abseil.io/docs/cpp/guides/logging) | Abseil 日志库提供了将日志消息写入 stderr、文件或其他接收器的功能。 | | [Blackhole](https://github.com/3Hren/blackhole) | 基于属性的日志框架,设计上快速、模块化且高度可定制。 | | [Boost.Log](https://github.com/boostorg/log) | 设计为高度模块化和可扩展。 | | [BqLog](https://github.com/Tencent/BqLog) | 一个轻量级、高性能的日志系统,用于《王者荣耀》等项目。 | | [Easylogging++](https://github.com/amrayn/easyloggingpp) | 极其轻量级的高性能日志库,适用于 C++11(或更高版本)应用程序。 | | [fmtlog](https://github.com/MengRao/fmtlog) | 一个高性能的 fmtlib 风格日志库,延迟低至纳秒级。 | | [G3log](https://github.com/KjellKod/g3log) | 带有动态接收器的异步日志记录器。 | | [glog](https://github.com/google/glog) | Google 日志模块的 C++ 实现。 | | [haclog](https://github.com/MuggleWei/haclog) | 一个极其快速的纯 C 日志库。 | | [Log4cpp](http://log4cpp.sourceforge.net/) | 一个 C++ 类库,用于灵活地将日志记录到文件、syslog、IDSA 和其他目的地。 | | [log4cplus](https://github.com/log4cplus/log4cplus) | 一个易于使用的 C++ 日志 API,提供线程安全、灵活且任意粒度的日志管理和配置控制。 | | [loguru](https://github.com/emilk/loguru) | 一个轻量级的 C++ 日志库。 | | [lwlog](https://github.com/ChristianPanov/lwlog) | 非常快的同步和异步 C++17 日志库。 | | [ng-log](https://github.com/ng-log/ng-log) | 用于应用级日志记录的 C++14 库。 | | [plog](https://github.com/SergiusTheBest/plog) | 小于 1000 行代码的便携式简单 C++ 日志库。 | | [reckless](https://github.com/mattiasflodin/reckless) | 低延迟、高吞吐量、异步的 C++ 日志库。 | | [spdlog](https://github.com/gabime/spdlog) | 超快速、仅头文件的 C++ 日志库。 | | [templog](http://www.templog.org/) | 一个非常小巧轻量级的 C++ 库,可用于为您的 C++ 应用程序添加日志功能。 | --- ### 参数解析器 | 项目 | 简介 | | ------------------------------------------------------- | ------------------------------------------ | | [**args**](https://github.com/Taywee/args) | C++ 命令行参数解析库 | | [**CLI11**](https://github.com/CLIUtils/CLI11) | 一个用于 C++11 及更高版本的命令行解析器 | | [**clipp**](https://github.com/muellan/clipp) | 现代 C++强大的表达性参数解析 | | [**cxxopts**](https://github.com/jarro2783/cxxopts) | 轻量级 C++ GNU 风格选项解析库 | | [**structopt**](https://github.com/p-ranav/structopt) | 通过定义一个结构体来解析命令行参数 | --- ### 基准测试 | 项目 | 简介 | | ------------------------------------------------------- | ------------------------------------------ | | [**criterion**](https://github.com/p-ranav/criterion) | 现代 C++的微基准测试 | | [**nanobench**](https://github.com/martinus/nanobench) | 适用于 C++11 的简单、快速、精确的微基准测试 | | [**picobench**](https://github.com/iboB/picobench) | 适用于 C++11 的小型微基准测试库 | --- ### 并发 | 项目 | 简介 | | ------------------------------------------------------- | ------------------------------------------ | | [**cs_libguarded**](https://github.com/copperspice/cs_libguarded) | 多线程编程 | | [**taskflow**](https://github.com/taskflow/taskflow) | 现代 C++并行任务编程 | | [**transwarp**](https://github.com/bloomen/transwarp) | 现代 C++ taskpool | | [**transwarp**](https://github.com/bloomen/transwarp) | 一个用于任务并发的头文件 C++库 | | [**thread-pool**](https://github.com/DeveloperPaul123/thread-pool) | 现代 C++20 线程池 | --- ### debug | 项目 | 介绍 | |---|---| | [backward-cpp](https://github.com/bombela/backward-cpp) | 一个美观的 C++ 堆栈跟踪美化打印库。 | | [Bencher](https://bencher.dev/) | 一套持续基准测试工具,旨在捕捉 CI 中的性能回归。 | | [benchmark](https://github.com/google/benchmark) | 谷歌提供的小型微基准测试支持库。 | | [Boost.Test](https://github.com/boostorg/test) | Boost 测试库。 | | [check](https://github.com/libcheck/check) | Check 是一个用于 C 语言的单元测试框架。 | | [doctest](https://github.com/onqtam/doctest) | 功能丰富但最轻量的 C++ 单头文件测试框架。 | | [Catch2](https://github.com/catchorg/Catch2) | 一个现代的、C++ 原生的测试框架,用于单元测试、TDD 和 BDD。 | | [Celero](https://github.com/DigitalInBlue/Celero) | C++ 基准测试框架。 | | [cpp-dump](https://github.com/philip82148/cpp-dump) | 一个用于调试的 C++ 库,可以打印任何变量,甚至是用户自定义类型。 | | [CppUTest](https://github.com/cpputest/cpputest) | 适用于 C/C++ 的单元测试和 Mocking 框架。 | | [CUTE](http://cute-test.com) | 更简单的 C++ 单元测试。 | | [dbg-macro](https://github.com/sharkdp/dbg-macro) | 一个用于 C++ 的 `dbg(...)` 宏。 | | [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) | 调试日志查看器。 | | [Deleaker](http://www.deleaker.com) | 一个用于资源泄漏检测的工具,包括内存、GDI 和句柄泄漏。 | | [FakeIt](https://github.com/eranpeer/FakeIt) | 适用于 C++ 的简单 Mocking 框架。 | | [fff](https://github.com/meekrosoft/fff) | 一个用于创建虚假 C 函数的微框架。 | | [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) | 一个用于编写和使用 C++ 模拟类的库。 | | [Google Test](https://github.com/google/googletest) | 谷歌 C++ 测试框架。 | | [Hippomocks](https://github.com/dascandy/hippomocks) | 单头文件 Mocking 框架。 | | [microprofile](https://github.com/jonasmr/microprofile) | 带有网页视图的多平台性能分析器。 | | [MinUnit](https://github.com/siu/minunit) | 一个自包含在单个头文件中的 C 语言最小单元测试框架。 | | [nanobench](https://github.com/martinus/nanobench) | 适用于 C++11/14/17/20 的简单、快速、精确的单头文件微基准测试功能。 | | [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) | 一个用于基准测试的简单、低开销、跨平台的计时器类。 | | [Nonius](https://github.com/libnonius/nonius) | 一个 C++ 微基准测试框架。 | --- ### Web 开发相关 | 项目 | 简介 | | -------------------------------------------------------------- | ---------------------------------- | | [TinyWebServer](https://github.com/qinguoyi/TinyWebServer) | 高性能 Web 服务器,C++ 实现,支持 epoll + 多线程 | | [wfrest](https://github.com/wfrest/wfrest) | 基于 Sogou Workflow 的轻量级 C++ REST 框架 | | [picohttpparser](https://github.com/h2o/picohttpparser) | 极快的 HTTP 解析器,常用于嵌入式服务端 | | [libuv](https://github.com/libuv/libuv) | 跨平台异步 I/O 库,Node.js 的核心依赖 | | [libmill](https://github.com/sustrik/libmill) | C 协程风格的并发编程库(Go 风格) | | [picotcp](https://github.com/tass-belgium/picotcp) | 嵌入式设备用的轻量 TCP/IP 协议栈 | | [Civetweb](https://github.com/civetweb/civetweb) | 提供易于使用、功能强大的 C/C++ 嵌入式 Web 服务器,可选支持 CGI、SSL 和 Lua。 | | [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) | 微软的项目,用于使用现代异步 C++ API 设计进行本地代码中的云端客户端-服务器通信。 | | [CppCMS](http://cppcms.com/) | 一个免费的高性能 Web 开发框架(而非 CMS)。 | | [Crow](https://github.com/CrowCpp/Crow) | Crow 是一个用于运行 Web 服务的 C++ 微框架,其路由方式类似于 Python 的 Flask。 | | [Cutelyst](https://github.com/cutelyst/cutelyst) | 一个基于 Qt 构建的 C++ Web 框架,采用 Catalyst (Perl) 框架的简单方法。 | | [Drogon](https://github.com/an-tao/drogon) | 一个基于 C++17/20 的高性能 HTTP 应用框架。 | | [C++ wfrest](https://github.com/wfrest/wfrest) | C++ Web 框架 REST API。 | | [facil.io](https://github.com/boazsegev/facil.io) | 一个事件驱动的高性能 C Web 框架,支持 HTTP、WebSockets、SSE 等。 | | [Kore](https://kore.io/) | 用 C 语言开发的超快速灵活的 Web 服务器/Web 应用程序框架。 | | [libOnion](http://www.coralbits.com/libonion/) | 一个轻量级库,可帮助你用 C 编程语言创建 Web 服务器。 | | [lwan](https://github.com/lpereira/lwan) | 实验性、可扩展、高性能的 HTTP 服务器。 | | [oat++](https://github.com/oatpp/oatpp) | 一个轻量级、零依赖的框架,用于创建高性能 Web 服务。 | | [Pistache](https://pistacheio.github.io/pistache/) | Pistache 是一个用纯 C++11 编写的 C++ REST 框架,没有外部依赖。 | | [QDjango](https://github.com/jlaine/qdjango/) | 一个用 C++ 编写并基于 Qt 库构建的 Web 框架。它尽可能地遵循 Django 的 API,因此得名。 | | [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) | 一个基于 C++ 和 Qt 的高速全栈 Web 应用框架,支持 HTTP 和 WebSocket 协议(带有 O/R 映射)。 | | [userver](https://github.com/userver-framework/userver) | 一个异步 C++17 框架,包含丰富的抽象和数据库驱动程序,用于快速、舒适地创建高效的微服务、服务和实用程序。 | | [Wt](http://www.webtoolkit.eu/wt) | 一个用于开发 Web 应用程序的 C++ 库。 | --- ### 数据格式 | 项目 | 简介 | | -------------------------------------------------------------- | ---------------------------------- | | [**Boost.JSON**](https://github.com/CPPAlliance/json) | JSON 解析、序列化、检查和修改 | | [**cpptoml**](https://github.com/skystrife/cpptoml) | 用于解析 TOML 的头文件库 | | [**csv2**](https://github.com/p-ranav/csv2) | 现代 C++的快速 CSV 解析器和写入器 | | [**cJSON**](https://github.com/DaveGamble/cJSON) | 超轻量的 C JSON 解析库 | | [**Fast C++ CSV Parser**](https://github.com/ben-strasser/fast-cpp-csv-parser) | 用于读取 CSV 文件的快速库 | | [**nlohmann/json**](https://github.com/nlohmann/json) | 现代 C++的 JSON | | [**picojson**](https://github.com/kazuho/picojson) | 一个仅使用头文件的 C++ JSON 解析器序列化器 | --- ### 脚本 | 项目 | 介绍 | |---|---| | [AngelScript](https://www.angelcode.com/angelscript/) | AngelScript 是一种面向游戏的解释/编译型脚本语言。| | [Boost.Python](https://github.com/boostorg/python) | 一个 C++ 库,可实现 C++ 和 Python 编程语言之间的无缝互操作。| | [cppimport](https://github.com/tbenthompson/cppimport) | 直接从 Python 导入 C++ 文件!| | [CppSharp](https://github.com/mono/CppSharp) | 将 C/C++ API 粘合到高级语言的工具和库。| | [ChaiScript](https://github.com/ChaiScript/ChaiScript/) | 一种易于使用的 C++ 嵌入式脚本语言。| | [ctypes.sh](https://github.com/taviso/ctypes.sh) | 用于 Bash 的外部函数接口。| | [Cython](https://github.com/cython/cython) | Cython 是一个优化静态编译器,适用于 Python 编程语言和扩展的 Cython 编程语言(基于 Pyrex)。它使为 Python 编写 C 扩展变得像 Python 本身一样容易。| | [djinni](https://djinni.xlcpp.dev) | 一个用于生成跨语言类型声明和接口绑定的工具。| | [Duktape](https://github.com/svaarala/duktape) | 一款占用空间小的可嵌入 JavaScript 引擎。| | [JavaCpp](https://github.com/bytedeco/javacpp) | 连接 Java 和原生 C++ 的缺失桥梁。| | [MiniScript](https://miniscript.org/) | 一种现代、优雅、易于学习且易于嵌入到您自己的 C# 或 C++ 项目中的脚本语言。| | [nanobind](https://github.com/wjakob/nanobind) | 微小且高效的 C++/Python 绑定。| | [nbind](https://github.com/charto/nbind) | 神奇的头文件,让您的 C++ 库可以从 JavaScript 访问。| | [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) | 一个用 C++ 构建 PHP 扩展的库。| | [pocketpy](https://github.com/blueloveTH/pocketpy) | 适用于游戏脚本的 C++17 仅头文件 Python 解释器。| | [pybind11](https://github.com/pybind/pybind11) | C++11 和 Python 之间的无缝互操作。| | [QuickJS](https://bellard.org/quickjs/) | 一个小巧且可嵌入的 JavaScript 引擎。| | [SIP](https://riverbankcomputing.com/software/sip/intro) | 用于 Python v2 和 v3 的 C 或 C++ 绑定生成器。| | [sol2](https://github.com/ThePhD/sol2) | 一个带有高级功能和顶级性能的 C++ <-> Lua API 包装器。| | [SWIG](https://github.com/swig/swig) | 一个包装/接口生成器,可让您的 C++ 代码链接到 JavaScript、Perl、PHP、Python、Tcl 和 Ruby。| | [txiki.js](https://github.com/saghul/txiki.js) | 一个微小的 JavaScript 运行时。| | [V7](https://github.com/cesanta/v7) | 一个嵌入式 JavaScript 引擎。| | [V8](https://v8.dev) | 谷歌开发的一款快速 JavaScript 引擎,可以嵌入到任何 C++ 应用程序中。| --- ### 机器学习与深度学习 | 项目 | 简介 | | --------------------------------------------------------- | ------------------------------------------------------------------------------------------ | | [dlib](http://dlib.net/) | 一个用于实际机器学习和数据分析的工具包 | | [frugally-deep](https://github.com/Dobiasd/frugally-deep) | 在 C++ 中使用 Keras 模型 | | [gaenari](https://github.com/greenfish77/gaenari) | C++17 中的增量决策树 | | [hnswlib](https://github.com/nmslib/hnswlib) | 快速近似最近邻 | | [MiniDNN](https://github.com/yixuan/MiniDNN) | 一个用于深度神经网络的纯头文件 C++ 库 | | [mlpack](https://github.com/mlpack/mlpack) | 一个快速、纯头文件的 C++ 机器学习库 | | [nanoflann](https://github.com/jlblancoc/nanoflann) | 使用 KD 树进行最近邻(NN)搜索 | | [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) | C++14 中的无依赖深度学习框架 | | [ceras](https://github.com/fengwang/ceras) | 一个用 C++20 编写的深度学习引擎 | --- ### 数据格式化与可视化 | 项目 | 简介 | | ------------------------------------------------------------- | ---------------------------------- | | [asap](https://github.com/tcbrindle/asap) | 用于创建、展示、迭代和操作日期的库。 | | [cxx prettyprint](https://github.com/louisdx/cxx-prettyprint) | 用于在 C++(0x)中对任意容器进行美观打印的工具。 | | [emio](https://github.com/aminya/emio) | 一个安全且快速的 C++20 字符输入/输出库,支持高层和低层操作。 | [fmt](https://github.com/fmtlib/fmt) | 一个现代化的格式化库。 | | [pprint](https://github.com/p-ranav/pprint) | 用于现代 C++ 的漂亮打印器。 | | [strf](https://github.com/robhz786/strf) | 一个为 C++14 设计的快速格式化库。 | | [tabulate](https://github.com/p-ranav/tabulate) | 用于现代 C++ 的表格生成工具。 | | [backward-cpp](https://github.com/bombela/backward-cpp) | 一个漂亮的 C++堆栈跟踪美化打印程序 | | [gplot++](https://github.com/ziotom78/gplotpp) | 跨平台、仅头文件的 C++ 绘图库,接口兼容 Gnuplot | | [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) | 用于数据可视化的 C++ 图形库。 | | [morphologica](https://github.com/ABRG-Models/morphologica) | 基于现代 OpenGL 的 C++ 仅头文件图形与数据可视化工具 | --- ### 文档生成工具 | 项目 | 简介 | | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | | [Doxide](https://github.com/lawmurray/doxide) | 面向现代 C++ 的现代文档生成工具,使用 YAML 进行配置,输出为 Markdown 格式 | | [doxygen](https://github.com/doxygen/doxygen) | C++ 注释文档生成的事实标准工具。可根据带注释的源代码生成文档 | | [hdoc](https://github.com/hdoc/hdoc) | 面向 C++ 的现代文档生成工具 | | [Natural Docs](https://github.com/NaturalDocs/NaturalDocs) | 一个开源文档生成器,支持多种编程语言 | | [Sphinx](https://github.com/sphinx-doc/sphinx) | 一个能够轻松创建智能而美观文档的工具 | --- ### 文档解析工具 | 项目 | 介绍 | |---|---| | [DuckX](https://github.com/amiremohamadi/DuckX) | 用于创建和修改 Microsoft Word (.docx) 文件的 C++ 库。 | | [FreeXL](https://www.gaia-gis.it/fossil/freexl/index) | 一个开源库,用于从电子表格中提取有效数据。 | | [libxls](https://github.com/libxls/libxls) | 从 C/C++ 读取二进制 Excel 文件。 | | [libxlsxwriter](https://github.com/jmcnamara/libxlsxwriter) | 一个用于创建 Excel XLSX 文件的 C 库。 | | [OpenXLSX](https://github.com/troldal/OpenXLSX) | 一个用于读取、写入、创建和修改 Microsoft Excel® (.xlsx) 文件的 C++ 库。 | | [SimpleXlsxWriter](https://sourceforge.net/projects/simplexlsx/) | 适用于 Microsoft Excel 2007 及更高版本的 XLSX 文件写入器。 | | [XLSX I/O](https://github.com/brechtsanders/xlsxio) | 用于读取和写入 .xlsx 文件的 C 库。 | --- ### 数据结构与算法 | 项目 | 简介 | | -------------------------------------------------------------------- | ------------------------------------ | | [BitMagic](https://github.com/tlk00/BitMagic) | 压缩位向量、逻辑操作、内存紧凑的容器 | | [concurrent queue](https://github.com/cameron314/concurrentqueue) | 多生产者、多消费者的无锁并发队列 | | [dynamic bitset](https://github.com/pinam45/dynamic_bitset) | C++17 的仅头文件动态位集。 | | [frozen](https://github.com/serge-sans-paille/frozen) | 针对 C++14 用户的 gperf 的 constexpr 替代方案。 | | [hopscotch map](https://github.com/Tessil/hopscotch-map) | 使用跳跃哈希实现的快速哈希表和哈希集合 | | [immer](https://github.com/arximboldi/immer) | 后现代不可变和持久化的数据结构 | | [MPMCQueue](https://github.com/rigtorp/MPMCQueue) | 支持有界多生产者多消费者的并发队列 | | [outcome](https://github.com/ned14/outcome) | 轻量级的结果与异常处理容器 | | [parallel hashmap](https://github.com/greg7mdp/parallel-hashmap) | 内存友好且速度极快的哈希表与 B 树容器 | | [PGM-index](https://github.com/gvinciguerra/PGM-index) | 使用远低于其他容器的内存,在十亿级数据项中进行快速查询与更新。 | | [robin-hood hashing](https://github.com/martinus/robin-hood-hashing) | 基于罗宾汉哈希的高效内存哈希表 | | [robin-map](https://github.com/Tessil/robin-map) | 使用罗宾汉哈希的快速哈希表与哈希集合 | | [sfl-library](https://github.com/slavenf/sfl-library) | 小向量、小容量平坦映射/集合/多集合(有序或无序)的 C++11 实现。 | | [small](https://github.com/alandefreitas/small) | 针对小型 STL 容器优化的主要容器实现 | | [tries](https://github.com/gutjuri/tries) | 快速且高度可自定义的 C++20 前缀树实现 | --- ### 数据查询 | 项目 | 简介 | | ------------------------------------------------------------- | ---------------------------------- | | [boolinq](https://github.com/k06a/boolinq) | 最简单的 C++ 头文件 LINQ 模板库 | --- ### 嵌入式 | 项目 | 简介 | | -------------------------------------------------------------- | ---------------------------------- | | [**Apache NuttX**](https://github.com/qinguoyi/TinyWebServer) | 一个兼容 POSIX 的实时微内核操作系统,支持 ARM、RISC‑V 等多个架构,适合嵌入式系统开发与学习 | | [**Zephyr**](https://github.com/zephyrproject-rtos/zephyr) | 主流开源嵌入式系统与工具链 | | [**FreeRTOS**](https://github.com/FreeRTOS/FreeRTOS) | 主流开源嵌入式系统与工具链 | | [**acados**](https://github.com/acados/acados) | 面向嵌入式场景的开源最优控制库,底层使用 BLASFEO 高性能线性代数,加速控制算法部署 | | [**stm32f103c8t6-examples**](https://github.com/afiskon/stm32f103c8t6-examples) | 用 C 编写的 STM32F103 系列裸机程序 | | [**libopencm3**](https://github.com/libopencm3/libopencm3) | STM32 等 Cortex-M 芯片的通用外设寄存器访问库 | | [**FreeRTOS-Kernel**](https://github.com/FreeRTOS/FreeRTOS-Kernel) | 轻量级实时操作系统内核 | | [**pico-examples**](https://github.com/raspberrypi/pico-examples) | Raspberry Pi Pico (RP2040) 官方示例 | | [**libusb**](https://github.com/libusb/libusb) | 用户态 USB 通信库 | | [**tinyusb**](https://github.com/hathach/tinyusb) | 嵌入式 USB 栈 | --- ### 数字信号处理 | 项目 | 简介 | | --------------------------------------------------------- | ----------------------------------------------- | | [DSPFilters](https://github.com/vinniefalco/DSPFilters) | 一组用于数字信号处理的实用 C++ 类库 | | [FFTW](http://www.fftw.org/) | 用于计算一维或多维离散傅里叶变换(DFT)的 C 语言库 | | [iir1](https://github.com/berndporr/iir1) | 实时 IIR 滤波器的 C++ 库 | | [kissfft](https://github.com/mborgerding/kissfft) | 一个“保持简单”的快速傅里叶变换(FFT)库 | | [pocketfft](https://github.com/mreineck/pocketfft) | 基于 FFTPack 的 FFT 实现,具备多个改进 | --- ### 数学 | 项目 | 介绍 | |---|---| | [Eigen](http://eigen.tuxfamily.org/) | 一个用于线性代数、矩阵和向量运算、数值求解器及相关算法的高级 C++ 模板头文件库。 | | [ExprTk](https://www.partow.net/programming/exprtk/) | C++ 数学表达式工具包库 (ExprTk) 是一个易于使用、易于集成且极其高效的运行时数学表达式解析器和评估引擎。 | | [Geometric Tools](https://www.geometrictools.com) | 用于在数学、图形、图像分析和物理领域进行计算的 C++ 库。 | | [GLM](https://github.com/g-truc/glm) | 仅头文件的 C++ 数学库,与 OpenGL 的 GLSL 数学库匹配并可互操作。 | | [GMTL](http://ggt.sourceforge.net/) | 图形数学模板库是一个以通用方式实现图形基本元素的工具集合。 | | [GMP](https://gmplib.org/) | 一个用于任意精度算术的 C 库,可对有符号整数、有理数和浮点数进行操作。 | | [Klein](https://github.com/jeremyong/klein) | 一个快速、SIMD 优化的 C++17 几何代数库,用于点、线和平面的投影、交点、连接、刚体运动等。 | | [linalg.h](https://github.com/sgorsten/linalg) | 适用于 C++ 的单个头文件、公共领域、短向量数学库。 | | [MATIO](https://github.com/tbeu/matio) | MATLAB MAT 文件 I/O 库。 | | [MatX](https://github.com/NVIDIA/MatX) | 一个 GPU 加速的 C++17 数值计算库,具有 MATLAB/Python 风格的语法。 | | [MIRACL](https://github.com/CertiVox/MIRACL) | 一个多精度整数和有理数算术加密库。 | | [NumCpp](https://github.com/dpilger26/NumCpp) | Python Numpy 库的模板化仅头文件 C++ 实现。 | | [muparser](https://beltoforion.de/en/muparser) | muParser 是一个用 C++ 编写的可扩展高性能数学表达式解析器库。 | | [LibTomMath](https://github.com/libtom/libtommath) | 一个完全用 C 编写的免费开源便携式数论多精度整数库。 | | [linmath.h](https://github.com/datenwolf/linmath.h) | 一个精简的线性数学库,面向图形编程。 | | [lp_solve](https://sourceforge.net/projects/lpsolve) | 一个用于制定和解决线性规划问题的库。 | | [OpenBLAS](https://github.com/xianyi/OpenBLAS) | 一个基于 GotoBLAS2 1.13 BSD 版本的优化 BLAS 库。 | | [PCG-rand](https://www.pcg-random.org/) | PCG 是一系列简单、快速、节省空间、统计学上优秀的随机数生成算法。与许多通用 RNG 不同,它们也很难预测。 | | [QuantLib](https://github.com/lballabio/quantlib) | 一个免费/开源的量化金融库。 | | [SimSIMD](https://github.com/ashvardanian/SimSIMD) | 适用于 x86 AVX2、AVX-512、Arm NEON 和 SVE 的矢量距离函数。 | | [StatsLib](https://github.com/kthohr/stats) | 一个 C++ 仅头文件的统计分布函数库。 | | [SymEngine](https://github.com/symengine/symengine) | 快速符号操作库,SymPy 核心的 C++ 重写。 | | [TinyExpr](https://github.com/codeplea/tinyexpr) | 一个用于从字符串解析和评估数学表达式的 C 库。 | --- ### 游戏引擎 | 项目 | 简介 | | -------------------------------------------------------------- | ---------------------------------- | | [**ezEngine**](https://github.com/ezEngine/ezEngine) | 开源 C++ 游戏引擎,支持 Windows/Linux/Android | | [**irrlicht**](https://sourceforge.net/p/irrlicht/code/HEAD/tree/) | 轻量级跨平台 3D 引擎,适合视觉渲染和游戏初学者 | | [**OGRE**](https://github.com/OGRECave/ogre) | 大型渲染架构,广泛用于模拟与游戏 | | [**orx**](https://github.com/orx/orx) | 面向 2D 游戏的轻量级插件驱动引擎,支持多平台 | | [**limitless-engine**](https://github.com/hotstreams/limitless-engine) | 使用 C++17 和现代 OpenGL 构建的渲染引擎,聚焦高性能和低延迟 | | [**Wicked Engine**](https://github.com/turanszkij/WickedEngine) | 现代 OpenGL/Vulkan 引擎,带编辑器和脚本系统,可用于学习使用 | | [**Diligent Engine**](https://github.com/DiligentGraphics/DiligentEngine) | 跨平台渲染框架,封装 DirectX12/Vulkan/Metal 等主流 API,适合 3D 可视化类项目 | | [**Acid**](https://github.com/Equilibrium-Games/Acid) | 一个高速的 C++17 Vulkan 游戏引擎 | | [**Allegro**](http://liballeg.org/) | 一个跨平台库,主要用于视频游戏和多媒体编程 | | [**Axmol Engine**](https://github.com/axmolengine/axmol) | 一个跨平台的桌面、移动和 XBOX(UWP)游戏引擎,源自 Cocos2d-x-4.0 | | [**Cocos2d-x**](http://www.cocos2d-x.org/) | 一个用纯 C、SDL 和 OpenGL 编写的游戏引擎 | | [**crown**](https://github.com/dbartolini/crown) | 开源 C++ 游戏引擎,支持 Windows/Linux/Android | | [**Corange**](https://github.com/orangeduck/Corange) | Crown 是一个通用数据驱动游戏引擎,用正统 C++从头编写,具有极简主义和数据导向的设计理念 | | [**delta3d**](http://sourceforge.net/projects/delta3d/) | 一个强大的模拟平台 | | [**GamePlay**](https://github.com/gameplay3d/GamePlay) | 一个跨平台的原生 C++游戏框架,用于创建 2D/3D 移动和桌面游戏 | | [**Grit**](https://github.com/grit-engine/grit-engine) | 一个社区项目,旨在构建一个免费的 3D 开放世界游戏引擎 | | [**Halley**](https://github.com/amzeratul/halley) | 一个用 C++14 编写的轻量级游戏引擎,具有"真正"的实体-组件系统 | | [**Hazel Game Engine**](https://github.com/TheCherno/Hazel) | Hazel 主要是一个用于 Windows 的早期阶段交互式应用程序和渲染引擎 | | [**Boden**](https://github.com/AshampooSystems/boden) | 原生、移动、跨平台 GUI 框架 | | [**CEGUI**](http://cegui.org.uk/) | 灵活的跨平台 GUI 库 | | [**Elements**](https://github.com/cycfi/elements) | 轻量级、细粒度、分辨率无关、模块化 GUI 库 | | [**GacUI**](https://github.com/vczh-libraries/GacUI) | GPU 加速的 C++用户界面,具有所见即所得开发工具、XML 支持、内置数据绑定和 MVVM 功能 | --- ### 内存分配 | 项目 | 介绍 | |---|---| | [Boehm GC](https://github.com/ivmai/bdwgc) | 适用于 C 和 C++ 的保守垃圾回收器。 | | [C Smart Pointers](https://github.com/Snaipe/libcsptr) | 适用于 (GNU) C 编程语言的智能指针。 | | [Hoard](https://github.com/emeryberger/Hoard) | 适用于 Linux、Windows 和 Mac 的快速、可扩展且内存高效的 Malloc 实现。 | | [jemalloc](https://github.com/jemalloc/jemalloc) | 通用 malloc(3) 实现,强调避免碎片和可伸缩的并发支持。 | | [memory](https://github.com/foonathan/memory) | 兼容 STL 的 C++ 内存分配器库。 | | [memory-allocators](https://github.com/mtrebi/memory-allocators) | 自定义内存分配器,用于提高动态内存分配的性能。 | | [mimalloc](https://github.com/microsoft/mimalloc) | 一个紧凑、高性能的通用分配器。 | | [rpmalloc](https://github.com/mjansson/rpmalloc) | 用 C 语言实现的跨平台无锁线程缓存 16 字节对齐内存分配器。 | | [snmalloc](https://github.com/microsoft/snmalloc) | 基于消息传递的高性能分配器。 | | [TCMalloc](https://github.com/google/tcmalloc) | Google 的快速、多线程 malloc 实现。 | | [buddy_alloc](https://github.com/spaskalev/buddy_alloc) | 一个 C 语言的单个头文件伙伴内存分配器,具有有限的分配成本。 | | [tgc](https://github.com/orangeduck/tgc) | 一个用约 500 行 C 代码编写的微型垃圾回收器。 | --- ### 网络 | 项目 | 介绍 | |---|---| | [ada](https://github.com/ada-url/ada) | 符合 WHATWG 标准且快速的现代 C++ URL 解析器。 | | [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) | 一个 C++ 面向对象网络编程工具包。 | | [Boost.Asio](https://github.com/boostorg/asio) | 一个用于网络和低级别 I/O 编程的跨平台 C++ 库。 | | [Boost.Beast](https://github.com/boostorg/beast) | 基于 Boost.Asio 在 C++11 中构建的 HTTP 和 WebSocket 库。 | | [Breep](https://github.com/Organic-Code/Breep) | 基于事件的高级 C++14 点对点库。 | | [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) | C++ REST SDK(以前名为 Casablanca)。 | | [Restbed](https://github.com/corvusoft/restbed) | C++11 异步 RESTful 框架。 | | [Restinio](https://github.com/Stiffstream/restinio) | 一个仅头文件的 C++14 库,提供嵌入式 HTTP/Websocket 服务器功能。 | | [c-ares](https://github.com/c-ares/c-ares) | 一个用于异步 DNS 请求的 C 库。 | | [ENet](https://github.com/lsalzman/enet) | 可靠的 UDP 网络库。 | | [evpp](https://github.com/Qihoo360/evpp) | 支持 TCP/UDP/HTTP 协议的 C++ 高性能网络库。 | | [FTP client for C++](https://github.com/embeddedmz/ftpclient-cpp) | 用于发起 FTP 请求的 C++ 客户端。 | | [H2O](https://github.com/h2o/h2o) | 一个优化的 HTTP 服务器,支持 HTTP/1.x 和 HTTP/2。也可作为库使用。 | | [HTTP Parser](https://github.com/nodejs/http-parser) | 一个 C 语言的 HTTP 请求/响应解析器。 | | [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) | 一个快速可靠的 ARQ 协议,有助于应用程序降低网络延迟。 | | [libcurl](http://curl.haxx.se/libcurl/) | 多协议文件传输库。 | | [libhttpserver](https://github.com/etr/libhttpserver) | 用于创建嵌入式 Rest HTTP 服务器(及更多)的 C++ 库。 | | [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) | GNU libmicrohttpd 是一个小型 C 库,旨在方便地在另一个应用程序中运行 HTTP 服务器。 | | [RedPanda](https://github.com/redpanda-data/redpanda) | 面向开发者的流数据平台,兼容 Kafka API,速度提升 10 倍 | | [RakNet](https://github.com/OculusVR/RakNet) | 一个跨平台、开源的 C++ 网络引擎,专为游戏程序员设计 | | [restclient-cpp](https://github.com/mrtazz/restclient-cpp) | 简单易用的 C++ REST 客户端,封装了 libcurl 进行 HTTP 请求 | | [Seasocks](https://github.com/mattgodbolt/seasocks) | 简单、小巧的 C++ 嵌入式 Web 服务器,支持 WebSockets | | [tlse](https://github.com/eduardsui/tlse) | 单个 C 文件实现的 TLS 1.2/1.3,使用 tomcrypt 作为加密库 | | [TQUIC](https://github.com/tencent/tquic) | 一个高性能、轻量级、跨平台的 QUIC 库,提供 C 和 C++ 接口 | | [Tufão](https://github.com/vinipsmaker/tufao) | 一个基于 Qt 构建的异步 C++ Web 框架 | | [uriparser](https://github.com/uriparser/uriparser) | 严格符合 RFC 3986 的 URI 解析和处理库 | | [uWebSockets](https://github.com/uNetworking/uWebSockets) | µWS 是最轻量、高效且可扩展的 WebSocket 和 HTTP 服务器实现之一 | | [UCall](https://github.com/unum-cloud/ucall) | 基于 io_uring 的高性能 SIMD 加速 RPC 库 | | [WAFer](https://github.com/riolet/WAFer) | 一个基于 C 语言的超轻量级软件平台,适用于可扩展的服务器端和网络应用程序。可将其视为 C 程序员的 node.js | --- ### 反射 | 项目 | 介绍 | |---|---| | [config-loader](https://github.com/netcan/config-loader) | 一个 C++17 静态反射框架,用于将配置文件解析为原生数据结构。 | | [Better Enums](https://github.com/aantron/better-enums) | 反射枚举(转换为字符串,迭代)。单头文件。 | | [clReflect](https://github.com/Celtoys/clReflect) | 使用 clang 实现的 C++ 反射。 | | [CPFG](https://github.com/cpgf/cpgf) | 一个用于反射、回调和脚本绑定的 C++03 库。 | | [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) | 使用 clang 实现的 C++ 反射。 | | [Easy Reflection](https://github.com/chocolacula/easy_reflection_cpp) | 像 Rust、Java 或 Go 中一样简单快速的反射 + 序列化解决方案。 | | [Magic Enum](https://github.com/Neargye/magic_enum) | 仅头文件的 C++17 库,为枚举提供静态反射(转换为字符串、从字符串转换、迭代),无需任何宏或样板代码即可与任何枚举类型配合使用。 | | [magic_get](https://github.com/apolukhin/magic_get) | 用户自定义类型(无需任何宏或样板代码)的 `std::tuple` 类似方法。 | | [meta](https://github.com/skypjack/meta) | C++ 中仅头文件、非侵入式且无宏的运行时反射系统。 | | [Nameof](https://github.com/Neargye/nameof) | 仅头文件的 C++17 库,提供 `nameof` 宏和函数以获取变量、类型、函数、宏和枚举的简单名称。 | | [Ponder](https://github.com/billyquith/ponder) | 一个用于反射的 C++11 库。 | | [REFLECT](https://github.com/qlibs/reflect) | C++20 静态反射库。 | | [reflect-cpp](https://github.com/getml/reflect-cpp) | 通过反射实现序列化,包括从结构体自动检索字段名称。 | | [RTTR](https://github.com/rttrorg/rttr) | 一个用于反射的 C++11 库。 | | [simple_enum](https://github.com/arturbac/simple_enum) | 一个快速、直观且类型安全的 C++ 枚举支持库。 | | [TSMP](https://github.com/fabian-jung/tsmp) | 一个非侵入式、无宏的 C++20 静态反射库。它使用 libclang 从源代码中提取反射数据,并通过模板特化使其可用。 | | [visit_struct](https://github.com/cbeck88/visit_struct) | 一个用于 C++ 中结构体字段反射的微型库。 | | [Refureku](https://github.com/jsoysouvanh/Refureku) | 一个 C++17 运行时反射和代码生成库。 | --- ### 科学计算 / 高性能计算 | 项目 | 简介 | | -------------------------------------------------------------- | ---------------------------------- | | [**Armadillo**](https://github.com/conradsnicta/armadillo-code) | 高性能线性代数与科学计算库,适用于数值运算与 ML 应用 | | [**fftw**](https://github.com/FFTW/fftw3) | 一个用于计算一维或多维 DFT 的 C 库 | | [**GSL**](https://github.com/microsoft/GSL) | GNU 科学库 | | [**precice**](https://github.com/precice/precice) | 用于分区多物理场模拟的耦合库 | | [**MPL**](https://github.com/rabauke/mpl) | 一个基于消息传递接口标准的 C++11 消息传递库 | --- ### 数据库 | 项目 | 简介 | | ------------------------------------------------------- | ----------------------- | | [rocksdb](https://github.com/facebook/rocksdb) | Facebook 出品的高性能嵌入式键值数据库 | | [sqlite\_orm](https://github.com/fnc12/sqlite_orm) | SQLite 的现代 C++ ORM 封装 | | [SQLiteCpp](https://github.com/SRombauts/SQLiteCpp) | SQLite 的 C++ 封装库 | | [OTL](http://otl.sourceforge.net/) | Oracle、ODBC 和 DB2-CLI 模板库 | | [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) | ClickHouse 数据库的 C++ 客户端。 | | [CrossDB](https://github.com/crossdb-org/crossdb) | 超高性能轻量级嵌入式与服务器端 OLTP 关系型数据库管理系统 | | [DuckDB](https://duckdb.org/) | 嵌入式 SQL OLAP 数据库管理系统,专为分析型查询设计。 | | [hiberlite](https://github.com/paulftw/hiberlite) | SQLite3 的 C++ 对象关系映射(ORM)库。 | | [Hiredis](https://github.com/redis/hiredis) | Redis 数据库的极简 C 客户端库。 | | [Infinity](https://github.com/infiniflow/infinity) | 面向大语言模型应用的 AI 原生数据库,支持超快向量与全文检索 | | [Kuzu](https://github.com/kuzudb/kuzu) | 可嵌入的属性图数据库,支持高性能查询与扩展性,实现了 Cypher 语言。 | | [Kvrocks](https://github.com/apache/incubator-kvrocks) | 使用 RocksDB 作为存储引擎,兼容 Redis 协议的分布式键值数据库 | | [LevelDB](https://github.com/google/leveldb) | Google 开发的快速键值存储库,提供从字符串键到字符串值的有序映射。 | | [libpg\_query](https://github.com/pganalyze/libpg_query) | 用于在服务器外部访问 PostgreSQL 解析器的 C 库。 | | [LMDB](https://github.com/LMDB/lmdb) | Lightning Memory-Mapped Database,快速嵌入式键值数据库,使用 B+ 树结构。 | | [MapLite](https://github.com/griffin-stewie/maplite) | 基于 C++17 的轻量型数据库管理系统(DBMS),使用 mmap 进行零拷贝持久化。 | | [Monarch](https://github.com/torchcc/monarch) | 支持可插拔存储引擎的嵌入式 KV 存储系统,API 简洁,目标与 RocksDB 类似。 | | [nanoDB](https://github.com/kingwo/nanoDB) | 单文件实现的小型 C 语言数据库,采用文本与二进制混合存储 | | [Pelikan](https://github.com/twitter/pelikan) | Twitter 开发的模块化、高性能缓存框架,支持多种协议(memcached、redis 等)。 | | [PostgreSQL](https://github.com/postgres/postgres) | 世界领先的企业级开源关系型数据库系统,支持 SQL 标准与扩展特性 | | [QuickDB](https://github.com/SaddestPerson/QuickDB) | 简单的文件键值存储解决方案,使用 JSON 持久化,无需依赖 | | [RocksDB](https://github.com/facebook/rocksdb) | Facebook 基于 LevelDB 构建的高性能持久化 KV 数据库,支持压缩与并发 | | [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) | 高性能、共享内存、无锁、跨平台、单文件、最小依赖、C++11 键值存储 | | [SkyTable](https://github.com/skytable/skytable) | 通用 NoSQL 数据库,支持强一致性与内存索引优化,支持多种数据结构 | | [sled](https://github.com/spacejam/sled) | 嵌入式数据库,具有锁自由并发支持、崩溃恢复与写前日志机制,Rust 开发但提供 C FFI 接口。 | | [sqlite](https://github.com/sqlite/sqlite) | 世界上最流行的轻量级嵌入式 SQL 数据库,广泛应用于移动端和嵌入式系统。 | | [TinyORM](https://github.com/silverqx/TinyORM) | 现代 C++ ORM 库 | | [UnQLite](https://github.com/symisc/unqlite) | 一个独立的、无服务器的、零配置的、事务性的 NoSQL 引擎 | | [Tkrzw](https://github.com/estraier/tkrzw) | Google Tokyo Cabinet 与 Kyoto Cabinet 的继承者,高性能键值存储,支持多种数据结构。 | | [Unqlite](https://github.com/symisc/unqlite) | 嵌入式 NoSQL 数据库引擎,支持键值存储与 JSON 文档模型,设计类 SQLite。 | | [Valkey](https://github.com/valkey-io/valkey) | Redis 社区分支,继承 Redis 7.x 代码并持续优化维护,性能稳定。 | | [Velociraptor](https://github.com/Velocidex/velociraptor) | 针对终端取证与安全监控的开源平台,核心存储引擎为可插拔嵌入式数据库。 | | [WiredTiger](https://github.com/wiredtiger/wiredtiger) | MongoDB 默认存储引擎,支持并发、事务、压缩等高级特性 | | [YouDB](https://github.com/SunJieMing/youdb) | 手写 KV 存储引擎项目,设计类 LevelDB,适合学习数据库引擎开发过程。 | --- ### 企业级 / 工程级组件 | 项目 | 简介 | | ---------------------------------------------------- | ------------------------- | | [**folly**](https://github.com/facebook/folly) | Facebook 推出的 C++ 核心组件库 | | [**workflow**](https://github.com/sogou/workflow) | 搜狗高性能异步框架,支持 HTTP、RPC 等 | | [**srpc**](https://github.com/sogou/srpc) | 基于 workflow 的高性能 RPC 框架 | | [**chromium**](https://github.com/chromium/chromium) | Chrome 浏览器核心,C++ 大型项目学习典范 | | [**winmerge**](https://github.com/WinMerge/winmerge) | Windows 平台的文件差异比较工具 | | [**nvui**](https://github.com/rohit-px2/nvui) | Neovim 的图形界面(Qt + C++) | | [**hplayer**](https://github.com/ithewei/hplayer) | 高性能 HLS 视频播放器,支持本地解码 | --- ### 游戏 | 项目 | 简介 | | -------------------------------------------------------------------- | ------------------------ | | [TinyTetris](https://github.com/taylorconor/tinytetris) | 纯 C 语言实现的经典俄罗斯方块游戏,控制台界面 | | [sudoku](https://github.com/mayerui/sudoku) | 控制台数独小游戏,C++ 实现 | | [GoBangByCpp](https://github.com/zz2summer/GoBangByCpp) | C++ 实现双人对战五子棋项目。 | | [mazecode](https://github.com/Superone77/Cpp-basic-learning/tree/master/imooc_code/mazecode) | 自动走迷宫:慕课网 C++ 课程封装篇作业,自动走迷宫。 | | [C-LanguageProjectCombat](https://github.com/newhappy3/C-LanguageProjectCombat/tree/master/%E4%BF%84%E7%BD%97%E6%96%AF%E6%96%B9%E5%9D%97) | 俄罗斯方块:用 C 语言实现 Win32 程序,完成俄罗斯方块游戏程序。 | | [C-LanguageProjectCombat](https://github.com/newhappy3/C-LanguageProjectCombat/tree/master/%E5%AD%A6%E7%94%9F%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F) | 学生管理系统。 | | [AirPlaneGame](https://github.com/Ayloss/AirPlaneGame) | cocos2dx 制作的微信《飞机大战》游戏。 | | [Tank3000](https://github.com/WuYufeng233/Tank3000) | 坦克大战。 | | [Big_fight](https://github.com/hw-sudo/Big_fight) | 球球大作战。 | | [Gobang](https://github.com/happysnaker/Gobang) | 智能人机五子棋对战:一款 AI 五子棋项目,C++ 新手项目实践 — 智能人机五子棋对战。 | | [sanguosha](https://github.com/snkkka163/sanguosha) | 此项目为三国杀游戏,模拟 QQ 注册,QQ 登录,QQ 加好友,QQ 聊天,基于 C# 语言,SQL Server 数据库开发,游戏功能目前已经实现玩家 VS 人机,已支持英雄:刘备、曹操、孙权,支持穿着装备、武器、战马,杀死对方获得积分。 | | [SimpleNES](https://github.com/amhndu/SimpleNES) | 任天堂红白机模拟器:这是一个用 C++ 编写的 NES 仿真器。 | | [Snake-cpp](https://github.com/bystc/Snake-cpp) | 用 C++ 写的一个简易贪吃蛇。 | | [MagicTower](https://github.com/seavers/MagicTower) | 魔塔:当年很火的一个 Flash 游戏,作者当时正在学习 C++ (VC++6.0),故移植了过去,纯学习练手。 | | [DiningSystem](https://github.com/lvyahui8/DiningSystem) | 点餐系统。 | | [Plants-vs.-Zombies-Online-Battle](https://github.com/Zhuagenborn/Plants-vs.-Zombies-Online-Battle) | 植物大战僵尸多人对战,开发通过反向工程,内嵌钩子和动态链接库注入。两个在线玩家分别作为植物和僵尸进行防御和攻击。 | | [PictureMatching](https://github.com/TheThreeDog/PictureMatching) | Qt C++ 实现的王者荣耀风格的连连看程序(基于 TD-framework 实现)。 | | [ST_PUZZLE_2.0](https://github.com/I-m-Eden/ST_PUZZLE_2.0) | ST-PUZZLE。 | | [mines_sweeper](https://github.com/xiaoxi666/mines_sweeper) | 开源项目:扫雷(Qt 开发)。 | | [2048.cpp](https://github.com/plibither8/2048.cpp) | 功能齐全的终端版游戏《2048》用 C++ 编写。 | | [Ancient-Spider](https://github.com/jie65535/Ancient-Spider) | 蜘蛛纸牌游戏。 | | [Qt_FreeCell](https://github.com/SeanLiaoy/Qt_FreeCell) | Qt_FreeCell (纸牌游戏空当接龙 C++/Qt 实现)。 | | [CppFishingCode](https://github.com/yinhui1129754/CppFishingCode) | 纯 C++ 捕鱼游戏。 | | [Rhythm](https://github.com/ZeroYang/Rhythm) | 用 Cocos2d-x 开发跨平台游戏,高仿《节奏大师》游戏。 | | [mirror](https://github.com/simon0xia/mirror) | 传奇挂机类游戏。 | | [3d-racing-games-demo](https://github.com/ceynri/3d-racing-games-demo) | 使用 C++ 和 OpenGL 实现简单的 3D 赛车游戏。 | | [Contra](https://github.com/philhuan/Contra) | 使用图形库 easyx 写的 C++ 魂斗罗游戏。 | | [Maze](https://github.com/UNLOSTER/Maze) | 基于 C++ EasyX 编写的益智小游戏 - 迷宫。 | | [shushabgyuanyue/c](https://github.com/shushabgyuanyue/c) | N 个小游戏项目(适合初学者)。 | | [game_2048](https://github.com/VectorWWW/game_2048) | 在实验楼学习的 C 语言项目,2048 小游戏。 | | [JumpByJump](https://github.com/hubojing/JumpByJump) | C++ 版微信跳一跳小游戏辅助程序。 | | [ChineseChesses](https://github.com/FlyAndNotDown/ChineseChesses) | 双人象棋小游戏 - C++ - Windows GDI。 | | [Word-Games](https://github.com/Wenretium/Word-Games) | C++ 实现带 GUI 背单词小游戏。 | | [NumberGuess](https://github.com/LargeRaindrop/NumberGuess) | 基于 C++ 的猜数字小游戏。 | | [Puzzle](https://github.com/dengguangshi/Puzzle) | C/C++ 拼图小游戏。 | | [loliRun](https://github.com/zhangyugege/loliRun) | 萝莉酷跑小游戏。 | | [Study-of-C-](https://github.com/Burgbug/Study-of-C-) | 学堂在线 C++ of Linux 的小项目,使用随机数库编写的简单控制台游戏(猜数游戏)。 | | [jijinlong/colors](https://github.com/jijinlong/colors) | 一款实用 Lua+C++ 的消除类小游戏。 | | [Cgames](https://github.com/yh1094632455/Cgames) | C 语言经典 200 多个有趣的程序和游戏。 | | [Shoot-The-Chicken-3D](https://github.com/CHINA-JIGE/Shoot-The-Chicken-3D) | 基于 C++ 控制台的 3D 第一人称射击 (FPS) 游戏,项目包含软件渲染器、游戏引擎层、游戏逻辑层。 | | [bounce-ball](https://github.com/muxiaozi/bounce-ball) | 弹弹乐 - C 语言控制台游戏。 | | [shining-yang/DDZ](https://github.com/shining-yang/DDZ) | DDZ(斗地主)- Win32 C/C++ 编写的斗地主游戏程序。 | | [sudoku](https://github.com/mayerui/sudoku) | C++ 实现的跨平台数独游戏,命令行操作易上手,可以在开发间隙用来放松身心。数百行代码,初学者也可以轻松掌握。 | | [2019-2020-tjse-sour-knight](https://github.com/lightmountainwolf/2019-2020-tjse-sour-knight) | 2019-2020 同济软工大项目 C++ 游戏。 | | [LianZhu](https://github.com/seashell752/LianZhu) | 海底连珠,基于 Cocos2d-x-3.3 游戏引擎,C++ 版本的一个五子连珠消除类游戏,可以学习基本的 Cocos2d-x 游戏开发,用到 A*(A star) 寻路算法,消除算法。 | | [historyme/fmj_cpp](https://github.com/historyme/fmj_cpp) | 步步高伏魔记游戏 C++ 版本。 | | [SimpleNES](https://github.com/amhndu/SimpleNES) | 一个用 C++ 编写的 NES 模拟器,只是为了好玩。包含游戏:超级马里奥兄弟、Contra、冒险岛、忍者外传、洛克人和洛克人 2、马里奥兄弟、大金刚和小金刚、战城、报童、塞尔达传说、吃豆子、网球、励志单车。 | | [CPP-DrawGuess](https://github.com/hanmin0822/CPP-DrawGuess) | 一个 C++ 编写的,使用 C/S 架构的、实时、可选房间、多人同房的你画我猜游戏。 | | [CoinFlap](https://github.com/HAO1171965789/CoinFlap) | C++ 金币翻转游戏。 | | [richman](https://github.com/czl0325/richman) | C++ 写的大富翁游戏,适合入门初学者。 | | [CubeMiniGame](https://github.com/tangziwen/CubeMiniGame) | Cube Engine 是一个用 C++ 编写的小型图形引擎,由 OpenGL 和 Vulkan 提供支持,开发它是为了提高我的 CG 知识和通用编程技能(通用算法、代码风格、设计模式)。 | | [ArenaofValor](https://github.com/Xuedixuedi/ArenaofValor) | 同济大学软件学院 18 级 C++ 大项目——王者荣耀。 | --- ### Android / 虚拟化 / 容器运行相关 | 项目 | 简介 | |------|------| | [**Anbox**](https://github.com/anbox/anbox) | 基于容器技术让 Android 原生运行在 Linux 上 | | [**Waydroid**](https://github.com/waydroid/waydroid) | Anbox 的活跃替代品,支持完整 Android UI,性能更好 | | [**Genymotion Emulator (scrcpy)**](https://github.com/Genymobile/scrcpy) | **scrcpy** 是 Genymotion 团队开发的高性能安卓投屏工具(C 实现) | | [**SPURV**](https://gitlab.collabora.com/spurv/spurv) | Collabora 开发的 Android on Linux 容器运行方案,主打 Wayland 桌面支持 | | [**Box64 / Box86**](https://github.com/ptitSeb/box64) | 在 ARM 设备上运行 x86 Linux 程序(用 C 写的高性能模拟器) | | [**QEMU**](https://github.com/qemu/qemu) | 世界最著名的虚拟化模拟器,支持多种架构,底层大量 C 实现 | | [**Proot**](https://github.com/proot-me/proot) | 用于 Linux 用户空间虚拟化的轻量工具,无需 root 权限 | | [**MyTinySTL**](https://github.com/Alinshans/MyTinySTL) | 简易版 STL 容器库实现,适合 STL 源码学习 | | [**inversify-cpp**](https://github.com/mosure/inversify-cpp) | C++17 控制反转和依赖注入容器库 | --- ### 图形 | 项目 | 介绍 | |---|---| | [assimp](https://github.com/assimp/assimp) | Open Asset Import Library 是一个跨平台的 3D 模型导入库,旨在为不同的 3D 资产文件格式提供一个通用的 API。 | | [bgfx](https://github.com/bkaradzic/bgfx) | 一个跨平台的渲染库。 | | [Blend2D](https://github.com/blend2d/blend2d) | 由 JIT 编译器驱动的 2D 矢量图形引擎。 | | [Cairo](http://www.cairographics.org/) | 一个支持多种输出设备的 2D 图形库。 | | [C-Turtle](https://github.com/walkerje/C-Turtle) | 一个 C++11 仅头文件的海龟图形库,作为 CImg 的封装。 | | [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) | 一个现代化的跨平台低级 3D 图形库。 | | [DirectXTK](https://github.com/Microsoft/DirectXTK) | 一个用于在 C++ 中编写 DirectX 11.x 代码的辅助类集合。 | | [GLFW](https://github.com/glfw/glfw) | 一个简单、跨平台的 OpenGL 协调库。 | | [GLFWPP](https://github.com/janekb04/glfwpp) | 一个适用于 GLFW 的轻量级现代 C++17 仅头文件封装。 | | [Harfang 3D](https://github.com/harfang3d/harfang3d) | 可用于 C++、Python、Lua 和 Go 的 3D 可视化库。基于 BGFX。 | | [herebedragons](https://github.com/kosua20/herebedragons) | 一个使用各种引擎、框架或 API 实现的基本 3D 场景。 | | [Horde3D](https://github.com/horde3d/Horde3D) | 一个小型 3D 渲染和动画引擎。 | | [Ion](https://github.com/google/ion) | 一组小型高效的库,用于构建使用 3D 图形的跨平台客户端或服务器应用程序。 | | [Irrlicht](http://irrlicht.sourceforge.net/) | 一个用 C++ 编写的高性能实时 3D 引擎。 | | [libigl](https://github.com/libigl/libigl) | 简单的 C++ 几何处理库。 | | [LLGL](https://github.com/LukasBanana/LLGL) | Low Level Graphics Library 是现代图形 API 的一个轻量级抽象层。 | | [LunaSVG](https://github.com/sammycage/lunasvg) | 一个独立的 C++ SVG 渲染库。 | | [magnum](https://github.com/mosra/magnum) | 轻量级模块化的 C++11/C++14 图形中间件,适用于游戏和数据可视化。 | | [micro-gl](https://github.com/micro-gl/micro-gl) | 实时、可嵌入、仅头文件的 C++11 CPU 矢量图形库。无需标准库、无需 FPU 和无需 GPU。 | | [NanoVG](https://github.com/memononen/nanovg) | 基于 OpenGL 的抗锯齿 2D 矢量绘图库,用于 UI 和可视化。 | | [Ogre 3D](https://github.com/OGRECave) | 一个面向场景、实时、灵活的 3D 渲染引擎(而非游戏引擎),用 C++ 编写。 | --- ### 图像处理 | 项目 | 介绍 | |---|---| | [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) | Grassroots DICOM 库。 | | [ITK](http://www.itk.org/) | 一个用于图像分析的开源、跨平台系统。 | | [Jpegli](https://github.com/google/jpegli) | 一个改进的 JPEG 编码器和解码器实现。 | | [Leptonica](https://github.com/DanBloomberg/leptonica) | Leptonica 是一个开源库,包含广泛用于图像处理和图像分析应用的软件。 | | [libavif](https://github.com/AOMediaCodec/libavif) | 用于编码和解码 .avif 文件的库。 | | [libfacedetection](https://github.com/ShiqiYu/libfacedetection) | 用于图像人脸检测的开源库。人脸检测速度可达 1500FPS。 | | [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) | 一个 JPEG 图像编解码器,使用 SIMD 指令加速基线 JPEG 编码和解码。 | | [libjxl](https://github.com/libjxl/libjxl) | JPEG XL 图像格式参考实现。 | | [libpng](https://github.com/pnggroup/libpng) | 用于读取、创建和操作 PNG(便携式网络图形)栅格图像文件的应用程序的参考库。 | | [libspng](https://github.com/randy408/libspng) | 简单、现代的 libpng 替代方案。 | | [libvips](https://github.com/jcupitt/libvips) | 一个内存需求低、速度快的图像处理库。 | | [LodePNG](https://github.com/lvandeve/lodepng) | C 和 C++ 中的 PNG 编码器和解码器。 | | [Magick++](https://imagemagick.org/script/magick++.php) | ImageMagick 用于 C++ 的程序接口。 | | [MagickWnd](https://imagemagick.org/script/magick-wand.php) | ImageMagick 用于 C 的程序接口。 | | [MozJPEG](https://github.com/mozilla/mozjpeg) | 改进的 JPEG 编码器。 | --- ### 事件处理机制 | 项目 | 简介 | |------|------| | [**eventbus**](https://github.com/DeveloperPaul123/eventbus) | C++中介者模式事件总线 | | [**eventpp**](https://github.com/wqking/eventpp) | C++事件分发器和回调列表 | | [**periodic-function**](https://github.com/DeveloperPaul123/periodic-function) | 指定时间间隔的回调 | --- ### 人工智能 | 项目 | 介绍 | |---|---| | [ANNetGPGPU](https://github.com/ANNetGPGPU/ANNetGPGPU) | 一个基于 GPU (CUDA) 的人工神经网络库。 | | [btsk](https://github.com/aigamedev/btsk) | 游戏行为树入门套件。 | | [Evolving Objects](http://eodev.sourceforge.net/) | 一个基于模板的 ANSI-C++ 进化计算库,可帮助您极快地编写自己的随机优化算法。 | | [Genann](https://github.com/codeplea/genann) | 一个简单的 C 语言神经网络库。 | | [MXNet](https://github.com/apache/incubator-mxnet) | 轻量级、可移植、灵活的分布式/移动深度学习库,具有动态、感知突变的数据流依赖调度器;支持 Python、R、Julia、Scala、Go、JavaScript 等。 | | [PyTorch](https://github.com/pytorch/pytorch) | Python 中的张量和动态神经网络,具有强大的 GPU 加速功能。 | | [flashlight](https://github.com/flashlight/flashlight) | Flashlight 是一个完全用 C++ 编写的快速、灵活的机器学习库。 | | [Recast/Detour](https://github.com/recastnavigation/recastnavigation) | (3D)导航网格生成器和寻路器,主要用于游戏。 | | [TensorFlow](https://github.com/tensorflow/tensorflow) | 一个使用数据流图进行数值计算的开源软件库。 | | [oneDNN](https://github.com/oneapi-src/oneDNN) | 一个用于深度学习应用的开源跨平台性能库。 | | [CNTK](https://github.com/Microsoft/CNTK) | Microsoft Cognitive Toolkit (CNTK),一个开源深度学习工具包。 | | [Veles](https://github.com/Samsung/veles) | 用于快速深度学习应用开发的分布式平台。 | | [Kaldi](https://github.com/kaldi-asr/kaldi) | 语音识别工具包。 | --- ## 开发工具 ### 编译器 | 项目 | 介绍 | |---|---| | [Clang](http://clang.llvm.org/) | 由苹果公司开发的编译器。 | | [GCC](https://gcc.gnu.org/) | GNU 编译器集合。 | | [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) | 由英特尔公司开发。 | | [LLVM](http://llvm.org/) | 模块化和可重用编译器和工具链技术的集合。 | | [Microsoft Visual C++](http://msdn.microsoft.com/en-us/vstudio/hh386302.aspx) | MSVC,由微软公司开发。 | | [Open WatCom](http://www.openwatcom.org/index.php/Main_Page) | Watcom,C、C++ 和 Fortran 交叉编译器和工具。 | | [TCC](http://bellard.org/tcc/) | 轻量级的 C 语言编译器。 | --- ### 在线编译器 | 项目 | 介绍 | |---|---| | [codepad](http://codepad.org/) | 在线编译器/解释器,一个简单的协作工具。 | | [CodeTwist](http://codetwist.com/) | 一个简单的在线编译器/解释器,你可以粘贴 C、C++ 或者 Java 代码,在线执行并查看结果。 | | [coliru](http://coliru.stacked-crooked.com/) | 在线编译器/shell,支持各种 C++ 编译器。 | | [Compiler Explorer](http://gcc.godbolt.org/) | 交互式编译器,可以进行汇编输出。 | | [CompileOnline](http://www.compileonline.com/compile_cpp11_online.php) | 在 Linux 上在线编译和执行 C++ 程序。 | | [Ideone](http://ideone.com/) | 一个在线编译器和调试工具,允许你在线编译源代码并执行,支持 60 多种编程语言。 | --- ### 调试器 | 项目 | 介绍 | |---|---| | [Comparison of debuggers](http://en.wikipedia.org/wiki/Comparison_of_debuggers) | 来自维基百科的调试器列表。 | | [GDB](https://www.gnu.org/software/gdb) | GNU 调试器。 | | [Valgrind](http://valgrind.org/) | 内存调试、内存泄露检测、性能分析工具。 | --- ### 集成开发环境(IDE) | 项目 | 介绍 | |---|---| | [AppCode](http://www.jetbrains.com/objc/) | 构建于 JetBrains’ IntelliJ IDEA 平台上的用于 Objective-C、C、C++ 和 Java 开发的集成开发环境。 | | [CLion](http://www.jetbrains.com/clion/) | 来自 JetBrains 的跨平台的 C/C++ 集成开发环境。 | | [Code::Blocks](http://www.codeblocks.org/) | 免费的 C、C++ 和 Fortran 集成开发环境。 | | [CodeLite](http://codelite.org/) | 另一个跨平台的免费 C/C++ 集成开发环境。 | | [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) | 可移植的 C/C++/C++11 集成开发环境。 | | [Eclipse CDT](http://www.eclipse.org/cdt/) | 基于 Eclipse 平台的功能齐全的 C 和 C++ 集成开发环境。 | | [Geany](http://www.geany.org/) | 轻量级、快速、跨平台的集成开发环境。 | | [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) | 来自 IBM 的家庭计算机集成开发环境。 | | [Irony-mode](https://github.com/Sarcasm/irony-mode) | 由 libclang 驱动的用于 Emacs 的 C/C++ 微模式。 | | [KDevelop](https://www.kdevelop.org/) | 免费开源集成开发环境。 | | [Microsoft Visual Studio](http://www.visualstudio.com/) | 来自微软的集成开发环境。 | | [NetBeans](https://netbeans.org/) | 主要用于 Java 开发的集成开发环境,也支持其他语言,尤其是 PHP、C/C++ 和 HTML5。 | | [Qt Creator](http://qt-project.org/) | 跨平台的 C++、Javascript 和 QML 集成开发环境,也是 Qt SDK 的一部分。 | | [rtags](https://github.com/Andersbakken/rtags) | C/C++ 的客户端服务器索引,用于与基于 clang 的 Emacs 的集成。 | | [Xcode](https://developer.apple.com/xcode/) | 由苹果公司开发。 | | [YouCompleteMe](https://valloric.github.io/YouCompleteMe/) | 一个用于 Vim 的根据你敲的代码快速模糊搜索并进行代码补全的引擎。 | --- ### 构建系统 | 项目 | 介绍 | |---|---| | [Bear](https://github.com/rizsotto/Bear) | 用于为 clang 工具生成编译数据库的工具。 | | [Biicode](https://www.biicode.com/) | 基于文件的简单依赖管理器。 | | [CMake](http://www.cmake.org/) | 跨平台的免费开源软件,用于管理软件使用独立编译的方法进行构建的过程。 | | [CPM](https://github.com/iauns/cpm) | 基于 CMake 和 Git 的 C++ 包管理器。 | | [FASTBuild](http://www.fastbuild.org/docs/home.html) | 高性能、开源的构建系统,支持高度可扩展性的编译、缓冲和网络分布。 | | [Ninja](http://martine.github.io/ninja/) | 专注于速度的小型构建系统。 | | [Scons](http://www.scons.org/) | 使用 Python 脚本配置的软件构建工具。 | | [tundra](https://github.com/deplinenoise/tundra) | 高性能的代码构建系统,即使对于非常大型的软件项目,也能提供最好的增量构建次数。 | | [tup](http://gittup.org/tup/) | 基于文件的构建系统,用于后台监控变化的文件。 | --- ### 静态代码分析 | 项目 | 介绍 | |---|---| | [Cppcheck](http://cppcheck.sourceforge.net/) | 静态 C/C++ 代码分析工具。 | | [include-what-you-use](https://code.google.com/p/include-what-you-use/) | 使用 clang 进行代码分析的工具,可以 `#include` 在 C 和 C++ 文件中。 | | [OCLint](http://oclint.org/) | 用于 C、C++ 和 Objective-C 的静态源代码分析工具,用于提高质量,减少瑕疵。 | | [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html) | 查找 C、C++ 和 Objective-C 程序 bug 的源代码分析工具。 | | [List of tools for static code analysis](http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) | 来自维基百科的静态代码分析工具列表。 | --- ### 学习网站 | 项目 | 介绍 | |---|---| | [C++ Standard Library](http://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) | 一系列类和函数的集合,使用核心语言编写,也是 C++ ISO 自身标准的一部分。 | | [Standard Template Library](https://en.wikipedia.org/wiki/Standard_Template_Library) | 标准模板库。 | | [C POSIX library](https://en.wikipedia.org/wiki/C_POSIX_library) | POSIX 系统的 C 标准库规范。 | | [ISO C++ Standards Committee](https://github.com/cplusplus) | C++ 标准委员会。 | | [C++ FAQ](https://isocpp.org/faq) | C++ 常见问题。 | | [Free Country](https://www.thefreecountry.com/sourcecode/cpp.shtml?spm=5176.10731542.0.0.4fc35bde2jHhz4) | Free Country 提供了免费的 C++ 源代码和 C++ 库,这些源代码和库涵盖了压缩、存档、游戏编程、标准模板库和 GUI 编程等 C++ 编程领域。 | | [C and C++ Users Group](http://www.hal9k.com/cug/?spm=5176.10731542.0.0.4fc35bde2jHhz4) | C 和 C++ 的用户团体提供了免费的涵盖各种编程领域 C++ 项目的源代码,包括 AI、动画、编译器、数据库、调试、加密、游戏、图形、GUI、语言工具、系统编程等。 | | [LearnCpp](https://www.learncpp.com/) | 免费学习 C++ 编程。 | | [CodeCogs](https://www.codecogs.com/) | CodeCogs 是一项协作的开放源码库,提供 C/C++ 数值方面的组件。 | | [codeproject](https://www.codeproject.com/) | CodeProject 提供的 C/C++ 资源代码项目。 | | [thoughtco](https://www.thoughtco.com/c-and-c-plus-programming-4133470) | 游戏相关的 C++ 源代码。 | | [Free C/C++ Libraries](https://www.programmerworld.net/resources/c_library.htm) | 免费 C++ 源代码和其他有用的工具。 | | [The C++ Standard Library](http://www.josuttis.com/libbook/examples.html) | 这是一个收集了许多 C/C++ 网站链接列表的网页。 | | [cplusplus](http://www.cplusplus.com/) | C++ 学习网站。 | | [C++ Source Codes](https://people.sc.fsu.edu/~jburkardt/cpp_src/cpp_src.html) | 这是一个全面的关于 C++ 的 345 个源代码清单。 | --- ### 免责声明 本项目内容均来源于互联网公开资料,仅供学习交流使用,版权归原作者所有。