转载:https://github.com/fffaraz/awesome-cpp

目录

标准图书馆

框架

人工智能

异步事件循环

音频

生物学

比特伦特

克莱

压缩

并发性

集装箱

密码学

数据库

调试

游戏引擎

图形学

图像处理

国际化

进程间通信

杰森

测井

机器学习

数学

内存分配

多媒体

联网

PDF

物理

正则表达式

机器人学

科学计算

脚本编写

串行化

分选

视频

虚拟机

Web应用框架

XML

杂类

软件

编译器

在线编译器

调试器

综合开发环境

构建系统

静码分析

编码风格工具

资源

API设计

文章

书籍

编码风格

播客

会谈

视频

网站

网志

其他令人惊奇的项目

其他令人讨厌的名单


标准图书馆

C++标准库-包括STL容器、STL算法、STL函数等。

框架

C++通用框架和库。

  • abc CPP-abc C++公共图书馆。[Apache 2]
  • Apache C++标准库-STDCXX,算法、容器、迭代器和其他基本组件的集合。[退休][Apache 2]
  • 阿普尔-Apache便携式运行时另一个跨平台实用函数库。[Apache 2]
  • ASL-AdobeSource库提供同行评审和可移植的C++源代码库。[麻省理工学院]
  • 助推 zap-大量的通用C++库。[助推]网站
  • 溴二苯醚-彭博实验室的BDE开发环境。[Apache 2]
  • 煤渣-一个社区开发的、免费的、开放源码的图书馆,用于专业质量的创造性编码.[BSD]
  • 克克逊堡-一个小型的、只有头的库,它支持C++03中一些漂亮的C++11的好东西。[麻省理工学院]
  • 德利卜 zap-使用合同编程和现代C++技术设计的通用跨平台C++库。[助推]网站
  • EASTL-电子艺术标准模板图书馆。[BSD]
  • ETL-嵌入模板库。[麻省理工学院]
  • Fffead-CPP-企业应用程序开发框架。[Apache 2]
  • 愚昧-在facebook上开发和使用的开源C++库。[Apache 2]
  • FunctionalPlus-C++函数式程序设计库。编写简洁易懂的C++代码。[麻省理工学院]
  • 滑翔-glib为用C语言编写的库和应用程序提供了核心应用程序构建块。[LGPL]
  • 朱斯-一个用于开发跨平台软件的包罗万象的C++类库.[核心-模块:ISC,REST:GPL 2/GPL 3/Business]网站
  • Libphenomlibphenom是一个在C中构建高性能和高可伸缩性系统的事件框架。[Apache 2]
  • 利布-C++11偶发IO,用于实时视频流和高性能网络应用程序.[LGPL]
  • 利布-用C语言编写的多平台实用程序库。[BSD]
  • 洛基-C++设计库,包含通用设计模式和习语的灵活实现。[麻省理工学院]
  • 米莉-最小头-只有C++库。[助推]
  • 开放框架-一个跨平台的开源工具包,用于C++中的创造性编码。[麻省理工学院]网站
  • QT zap-跨平台应用程序和UI框架。[GPL/LGPL/商业]
  • 原因-一个跨平台框架,旨在为需要C++性能和强大功能的开发人员提供Java、.NET或Python的方便使用。[GPL 2]
  • 根部-一套OO框架,具有以非常高效的方式处理和分析大量数据所需的所有功能。在CERN使用。[LGPL]
  • STLport-STL的示范性版本。[免费]
  • STXXL-特大型数据集的标准模板库。[助推]
  • TBox-一个像滑翔机一样的多平台c库。[Apache 2]网站
  • 终极+-C++跨平台快速应用程序开发框架.[BSD]
  • USTL-小型STL图书馆。[麻省理工学院]
  • Windows模板库-开发Windows应用程序和UI组件的C++库。[公众]
  • Yomm 2-快速、正交、开放的多种方法。取代Yomm 11[助推]

人工智能

  • ANNetGPGPU-基于GPU(CUDA)的人工神经网络库。[LGPL]
  • BTSK-游戏行为树初学者工具包。[zlib]
  • 进化对象-一个基于模板的ANSI-C++进化计算库,它帮助您快速编写自己的随机优化算法。[LGPL]
  • 节衣缩食-只用于C++中使用Keras模型的标头库。[麻省理工学院]
  • 吉南-C.[zlib]的简单神经网络库
  • 重铸/重铸-(3D)导航网格生成器和探测仪,主要用于游戏。[zlib]
  • TensorFlow-使用数据流图进行数值计算的开源软件库[Apache]
  • CNTK-微软认知工具包(CNTK),一个开源的深度学习工具包.[助推]
  • 丁丁-在C++11中,一个仅限头、无依赖的深度学习框架.[BSD]
  • 韦莱斯-快速深入学习应用开发的分布式平台。[阿帕奇]
  • 卡尔迪-语音识别工具包。[阿帕奇]

异步事件循环

  • ASIO-一个跨平台的C++库,用于网络和低级I/O编程,它为开发人员提供了一个使用现代C++方法的一致的异步模型。[助推]网站
  • 阿西奥-一个跨平台的C++库,用于网络和低级I/O编程。[助推]
  • C++Actor框架-C++中Actor模型的开源实现。[BSD-3-条款]网站
  • 利别夫-一个功能齐全和高性能的事件循环,它是以libeVENT为基础松散建模的,但是没有它的限制和缺陷。[BSD及GPL]
  • 利贝-事件通知库。[BSD]
  • 利布夫-跨平台异步I/O。[BSD]
  • UVW-libuv的C++包装器。[麻省理工学院]

音频

音频,声音,音乐,数字化语音库

  • FMOD-一个易于使用的跨平台音频引擎和游戏音频内容创建工具。[非商业/商业免费]
  • KFR-快速,现代C++DSP框架,FFT,FIR/IIR滤波器,采样率转换。[GPL/商业]
  • 马西米兰-C++音频和音乐DSP库。[麻省理工学院]
  • 迷你铝-单文件音频播放和捕获库。[无许可证]
  • OpenAL-开放音频库-跨平台音频API。[BSD/LGPL/商业]
  • 作品-一个完全开放的,免版税的,高度通用的音频编解码器。[BSD]
  • 拉美经济体系-简单无损失音频。[麻省理工学院]
  • 苏鲁德-方便、便携式的游戏音频引擎。[zlib]
  • 斯皮克斯-言论自由的免费编解码器。被Opus淘汰了。[BSD]
  • 补药-C++中简单高效的音频合成。[无许可证]
  • 沃比斯-OggVorbis是一种完全开放的、非专利的、无专利的、通用的压缩音频格式.[BSD]
  • 迷你3-公共域,只有头部的MP3解码器与洁净室实现。[CC0]

生物学

生物信息学、基因组学、生物技术

  • Bioc+-C++生物信息学计算库。[BSD]
  • 贞洁-一个开放源码的C++库,用于为生理和生物学开发的数学模型的计算模拟。[BSD]
  • 李氏序列-C++库,用于表示和分析群体遗传学数据。[GPL]
  • 塞坎-用于分析以生物数据为重点的序列的算法和数据结构。[BSD/3-条款]
  • vcflib-C++库,用于分析和操作VCF文件。[麻省理工学院]
  • 韦姆-基因组中的结构变异(SVS),直接将关联测试应用于BAM文件。[麻省理工学院]

比特伦特

  • Jech/DHT-BitTorrent DHT图书馆。[麻省理工学院]
  • 激流(a.k.a.libtorrent-rasterbar)-一个高效的功能完成了C++BitTorrent的实现。[BSD]
  • 利布伦(a.k.a.libtorrent-Rakshasa)-BitTorrent图书馆。[GPL]
  • 利博普-uTorrent传输协议库。[麻省理工学院]

克莱

控制台/终端用户界面,命令行接口

  • 啊!-极简主义者,无挫折感,仅限头论点处理程序。[BSD]
  • Taywee/ARGS-一个简单的标头-只有C++参数解析器库。[麻省理工学院]
  • Boost.程序选项-通过命令行和配置文件等常规方法获取程序选项的库。[助推]
  • CLI 11标头仅用于简单和高级CLI解析的单个或多文件C++11库。[BSD]
  • jar 2783/cxxopts轻量级C++命令行选项解析器。[麻省理工学院]
  • docopt.cpp-从docstring生成选项解析器的库。[MIT/Boost]
  • 旗子-用于C++的命令行标志模块。[BSD]
  • 亚尼诺瓦-阅读行和libedit的一种小型独立的替代方法。[BSD-2-条款]
  • 林诺瓦-一个小型的、可移植的GNU读行替换Linux、Windows和MacOS,它能够处理UTF-8字符。[BSD]
  • 诅咒-终端用户界面。[麻省理工学院]
  • PDCurses-具有源代码和预编译库的公共域诅咒库。[公共领域]
  • 副本-支持UTF-8的读行和libedit替换,语法突出显示,提示,在Unix和Windows上工作。[BSD]
  • TCLAP-一个成熟、稳定和功能丰富的库,用于定义和访问ANSI C++中的命令行参数.[麻省理工学院]
  • 蚁箱-C库,用于编写基于文本的用户界面。[麻省理工学院]

压缩

压缩和存档图书馆

  • 布罗蒂-Brotli压缩格式。由谷歌开发。[麻省理工学院]
  • bzip 2-免费提供的、免费的、高质量的数据压缩机。[BSD]
  • 有限状态熵-新一代熵编解码器:有限状态熵和Huff 0。
  • PhysicsFS-图书馆,提供各种档案的抽象查阅。它的目的是用于电子游戏,其设计在某种程度上是受地震3的文件子系统的启发。[zlib]
  • KArchive-用于创建、读取、写入和操作文件档案的库,如zip和tar。它还通过QIODevice子类提供数据的透明压缩和解压缩,使用gzip等格式。[LGPL]
  • 藤黄-多格式档案和压缩库。[新BSD]网站
  • LZ4-极快压缩算法。[BSD]
  • LZFSE-LZFSE压缩库和命令行工具。苹果公司开发的。
  • LZHAM-无损数据压缩库,压缩比类似于LZMA,但解压缩速度要快得多。[BSD]
  • LZMA zap-7z格式的默认和通用压缩方法。[公共领域]
  • LZMAT-一个非常快速的实时无损数据压缩库。[GPL]
  • 迷你-单一C源文件Deflate/充气压缩库与zlib兼容的API,ZIP存档读写,PNG写入。[无许可证]
  • Minizip-Zlib具有支持PKWare磁盘跨越、AES加密和IO缓冲的最新bug修复程序。[zlib]
  • 斯马兹-小字符串压缩库。[BSD]
  • 小巧-快速压缩机/减压器。[BSD]
  • ZLib-一个非常紧凑的数据流压缩库。[zlib]
  • 兹利卜-“下一代”系统的zlib。用一些严肃的优化替换掉。[zlib]
  • zstd-ZStandard-快速实时压缩算法。由Facebook开发。[BSD]
  • ZZIPlib-提供对ZIP档案的阅读访问。[MPL/LGPL]

并发性

并发与多线程

  • 阿尔帕卡-并行内核加速的抽象库。[LGPLv 3+]
  • 阿雷火-通用GPU图书馆。[BSD]
  • 异步+-C++11的轻量级并发框架,受Microsoft PPL库和N 3428 C++标准提案的启发。[麻省理工学院]
  • Boost.计算-一个用于OpenCL的C++GPU计算库。[助推]
  • 螺栓-为GPU优化的C++模板库。[Apache 2]
  • 科克-并发原语、安全内存回收机制和非阻塞数据结构。[BSD]
  • 并发队列-用于C++11的快速多生产者、多用户无锁并发队列.[BSD,助推]
  • CPP-Taskflow-具有任务依赖性的快速C++并行编程。[麻省理工学院]
  • 幼崽-CUB为CUDA编程模式的每一层提供最先进、可重用的软件组件.[新BSD]
  • 库普拉-C++API在OpenMP上运行CUDA/C++,线程,TBB,.通过阿尔帕卡。[LGPLv 3+]
  • C++反应-C++11的反应性编程库。[助推]
  • Intel并行STL-Intel为C++11及以上实现C++17 STL。[Apache 2]
  • 英特尔TBB-Intel线程积木。[Apache 2]
  • -C++中并发数据结构库。[BSD]
  • libcds-并发数据结构的C++库。[BSD]
  • 利布-一个基于OpenCL的GPU加速SPH流体模拟库。[麻省理工学院]
  • 利伯迪尔-在C.[麻省理工学院]
  • 利布调度-Grand Central Dispatp(GCD),由Apple公司开发,是一种基于线程池模式的任务并行技术。lib分派是一个提供GCD服务实现的库。[Apache2.0]网站
  • 锂磨-在C.[麻省理工学院]
  • 现代派-现代派是一个生产力库,用于GPU上的通用计算。这是一个头-只有C++库编写的数据自动化系统.该库的独特价值在于它用于解决不规则并行问题的加速原语。[FreeBSD&版权所有,肖恩·巴克斯特]
  • NCCL-用于集体多GPU通信的优化原语。[BSD]
  • OpenCL-异构系统并行编程的开放标准。
  • OpenMP-OpenMP API。
  • 拉法-RaftLib C++库,通过C++iostream类操作符流/数据流并发[Apache 2]
  • 读写器队列-用于C++的快速单生产者、单用户无锁队列.[BSD]
  • 推力-类似于C++标准模板库(STL)的并行算法库。[Apache 2]
  • 超曲-只用于任务并发的头-只有C++库。[麻省理工学院]
  • HPX-用于任何规模的并行和分布式应用程序的通用C+运行时系统。[助推]
  • 维克斯-一个用于OpenCL/CUDA的C++矢量表达模板库。[麻省理工学院]

集装箱

  • C++B-树-基于B树数据结构实现有序内存容器的模板库.[Apache 2]
  • 菌落-无序的“包”型容器,在高修改情况下优于STD容器,同时保持指向非擦除元素的永久指针,而不管插入/擦除。[zLib]网站
  • 哈什图-在C++中实现开放寻址哈希表算法。[麻省理工学院]
  • Hopscotch地图-一个仅限头的快速散列映射,它使用Hopscotch散列来解决冲突。[麻省理工学院]
  • LSHBOX-C++本地敏感散列工具箱(LSH),提供了几种流行的LSH算法,还支持Python和MATLAB。[GPL]
  • PLF:名单-一个std:列表实现,它删除范围拼接,以使缓存更友好的结构,产生显著的性能提高。[zLib]网站
  • PLF:堆栈-std:堆栈容器适配器的替换容器,比堆栈上下文中的任何STD容器具有更好的性能。[zLib]网站
  • 环跨径石-简化了Arthur O‘Dwyer的环跨实施,即。圆形缓冲视图。[麻省理工学院]
  • 果肉-用于C++的快速、内存高效的散列图。[BSD 3-条款]

密码学

密码学与加密库

  • bcrypt-跨平台文件加密实用程序。加密文件可在所有受支持的操作系统和处理器之间移植。[BSD]
  • BeeCrypt-便携式和快速加密图书馆。[LGPLv2.1+]
  • 博坦-C++密码库。[BSD-2]
  • 密码+-免费的C++密码方案类库。[助推]网站
  • 消化聚丙烯-C++11报头-纯消息摘要(散列)库。[公共领域]
  • GnuPG-完全和自由地执行OpenPGP标准。[GPL]
  • GNUTLS-实现SSL、TLS和DTLS协议的安全通信库。[LGPL2.1]
  • 利堡-一个通用密码库,最初以GnuPG的代码为基础。[LGPLv2.1+]
  • 锂氢-用于受限环境的轻量级、安全、易于使用的密码库.[ISC]
  • LibreSSL-2014年从OpenSSL中分离出来的SSL/TLS协议的免费版本。[?]
  • 利伯钠-基于NaCl的密码库,固执己见,易于使用。[ISC]
  • 锂氢-一个轻量级的、安全的、易于使用的密码库,适用于受限环境.[ISC]
  • LibTomCrypt-一个相当全面、模块化和便携式的密码工具包。[WTFPL]
  • 姆贝德-开源的、可移植的、易用的、可读的和灵活的SSL库,以前称为PolarSSL。[Apache 2]网站
  • 荨麻-低级密码库。[LGPL]
  • OpenSSL-一个强大的、商业级别的、功能齐全的、开放源码的密码库.[阿帕奇]网站
  • 雷特-与密码学有关的散列函数、密码器、工具、库和材料的集合。
  • s2n-TLS/SSL协议的实现。[阿帕奇]
  • Sha1碰撞检测-库和命令行工具,用于检测文件中的SHA-1冲突。[麻省理工学院]
  • 丁克-一个多语言、跨平台的库,它提供安全、易于正确使用和难以误用的加密API。[Apache2.0]
  • C中的微量AES-小型便携式AES 128/192/256,C.[公共领域]
  • 西米斯-用于无痛数据安全的密码库,为移动和服务器平台提供对称和非对称加密、具有前向保密的安全套接字。[Apache 2]

数据库

数据库、SQL服务器、ODBC驱动程序和工具

  • 冬眠岩-C++对象-sqlite 3的关系映射。[BSD]
  • 希雷迪斯-Redis数据库的简约C客户端库。[BSD]
  • LevelDB-在Google上编写的快速键值存储库,它提供了从字符串键到字符串值的有序映射。[BSD]
  • LMDB-具有完全ACID语义的非常快速的嵌入式密钥/值存储。[OpenLDAP]
  • LMDB+-LMDB嵌入式数据库的C++11包装器。[公共领域]
  • MongoDB C驱动程序-MongoDB客户端库。[Apache 2]
  • MongoDBC+驱动程序-MongoDB的C++驱动程序。[Apache 2]
  • MongoDB Libbson-BSON实用图书馆。[Apache 2]
  • MySQL+-MySQL的C API的C++包装器。[LGPL]
  • 纳米odbc-本地C ODBC API的小型C++包装器。[麻省理工学院]
  • ODB-一个面向C++的开源、跨平台和跨数据库对象-关系映射(ORM)系统.[GPLv 2]
  • redis3m-使用干净的C++接口,支持哨兵,随时准备使用模式。[Apache 2]
  • RocksDB-嵌入式密钥-值存储,用于从Facebook快速存储。[BSD]
  • 辛DB-高性能、共享内存、无锁、跨平台、单文件、最小依赖项、C++11键值存储[Apache 2]
  • SQLite-一个完全嵌入的,功能齐全的关系数据库,在几个100 K,你可以包括在你的项目中。[公共领域]
  • SQLiteC++-SQLiteC++(SQLiteCpp)是一个聪明且易于使用的C++SQLite3包装器。[麻省理工学院]
  • 方形现代CPP标题只有C++14包装周围的sqite库。[麻省理工学院]
  • 方晶石ormSQLite ORM轻型标头仅用于现代C++库。[BSD-3-条款]
  • 平方页11-一种用于SQL查询和C++结果的类型安全的嵌入式域特定语言。[BSD-2-条款]
  • TileDB-快速、密集和稀疏的多维数组DBMS。[麻省理工学院]网站
  • 上标b-带有内置查询接口的嵌入式“类型化”密钥/值存储。[GPLv 3]

调试

调试库,内存泄漏和资源泄漏检测,单元测试

  • 后向CPP-用于C++的漂亮的堆栈跟踪漂亮打印机。[麻省理工学院]
  • 基准-Google提供了小型微基准支持库。[Apache 2]
  • Boost.测试-增强测试库。[助推]
  • 博士考试-最轻的功能富C++单头测试框架。[麻省理工学院]
  • 捕获-现代的,C++-本机,标头,单元测试框架,TDD和BDD.[助推]
  • Catch 2-现代的,C++-本机,标头,单元测试框架,TDD和BDD.[BSL-1.0]
  • 塞勒诺-C++基准框架。[Apache 2]
  • CppUTest-C/C++单元测试和模拟框架。[BSD-3-条款]
  • 可爱-C++单元测试更容易。[LGPL 3]
  • 科莫卡-支持模拟对象的C单元测试框架。[Apache 2]
  • CppUnit-JUnit的C++端口。[LGPL 2]
  • CTest-CMake测试驱动程序。[BSD]
  • 德雷克-用于资源泄漏检测的工具,包括内存、GDI和处理泄漏。
  • FFF-创建假C函数的微观框架。[麻省理工学院]
  • 谷歌模拟-编写和使用C++模拟类的库。[BSD]
  • 谷歌测试-GoogleC++测试框架。[BSD]
  • IG-调试器-多平台调试堆,用于跟踪内存错误。[BSD]
  • 利布塔用C语言编写测试。[GPL 2]
  • 梅姆特拉克-跟踪C++中的内存分配。
  • 微轮廓-为多个平台提供网页浏览的Profiler。[公共领域]
  • MinUnit-一个包含在单个头文件中的C的最小单元测试框架。[麻省理工学院]
  • 莫克托-EclipseCDT插件,用于C++接缝和模拟对象。
  • 纳米定时器-用于基准测试的简单的低开销跨平台计时器类。[zLib]网站
  • 感伤-带有Web查看器的单一C文件分析器。[Apache 2]
  • UnitTest+-一个用于C++的轻量级单元测试框架。[MIT/X集团许可证]
  • utest.h-C和C++的单头单元测试框架。[无许可证]
  • VLD-视觉检漏器。一个免费的、健壮的、开源的Visualc++内存泄漏检测系统.

游戏引擎

  • -一个高速C++17 Vulkan游戏引擎。[麻省理工学院]
  • 快板-一个主要用于电子游戏和多媒体节目的跨平台图书馆。[zlib]
  • 女妖3D-现代C++14游戏引擎,支持Vulkan,功能齐全的编辑器和C#脚本。[LGPL 3/商业]
  • Cocos2d-x-一个多平台框架,用于构建2d游戏、交互式书籍、演示和其他图形应用程序。[麻省理工学院]
  • 德尔塔3d-一个强大的仿真平台。[LGPL 2]
  • 恩特-游戏符合现代C++。[麻省理工学院]
  • 游戏游戏-一个跨平台的本地C++游戏框架,用于创建2D/3D移动游戏和桌面游戏。[Apache 2]
  • 戈多-一个功能齐全、开源、麻省理工学院授权的游戏引擎。[麻省理工学院]
  • 砂砾-社区项目,为执行开放世界3D游戏建立一个免费的游戏引擎。[麻省理工学院]
  • 克莱格-一个跨平台的开源游戏引擎,具有基于插件的体系结构。[GPLv 2]网站
  • OpenX射线-社区改良X光引擎,用于S.T.A.L.K.E.R.系列游戏。[经修订的BSD/只限于非商业用途]
  • 氧基-跨平台2D C++游戏引擎。[麻省理工学院]
  • Panda3D-一个游戏引擎,一个用于Python和C++程序的3D渲染和游戏开发框架。[修改后的BSD]网站
  • PixelGameEngine-正式分发olcPixelGameEngine,这是javidx 9的YouTube视频和项目中使用的工具。[OLC 3]
  • 多码-C++中创造性代码的跨平台框架(带有Lua绑定)。[麻省理工学院]网站
  • Torque2D-开放源码和跨平台C++引擎,为2D游戏开发.[麻省理工学院]网站
  • Torque3D-开源C++引擎,用于3D游戏开发。[麻省理工学院]网站
  • 玩具发动机
  • 乌尔霍3D-一个免费的轻量级,跨平台的2D和3D游戏引擎,在C++中实现。很大程度上受到了食人魔和Horde3D的启发。[麻省理工学院]

图形用户界面

  • CEGUI-灵活、跨平台的GUI库。
  • FLTK-快速、轻巧、跨平台的C++GUI工具包。[GPL 2]
  • 加奇-GPU加速C++用户界面,使用WYSIWYG开发工具、XML支持、内置数据绑定和MVVM功能。[Ms-PL]
  • GTK+-创建图形用户界面的多平台工具包。[LGPL]
  • gtkmm-流行的GUI库GTK+的官方C++界面。[LGPL]
  • 伊姆吉-即时模式图形用户界面,依赖性最小。[麻省理工学院]
  • LibRocketlibRocket是一个C++HTML/CSS游戏接口中间件。[麻省理工学院]
  • 利布伊-使用它所支持的每个平台的本地GUI技术的C语言中的简单和可移植的GUI库(但不是不灵活的)。[麻省理工学院]
  • MyGUI-快速、灵活和简单的GUI。[麻省理工学院]
  • 娜娜。-NANA是一个跨平台库,用于现代C++风格的GUI编程。[助推]
  • 纳规-OpenGL 3.x或更高版本的极简跨平台小部件库。[BSD]
  • -一个单头ANSI C GUI库。[公共领域]
  • QCustomPlot-Qt绘图小部件,无需进一步依赖。[GPLv 3]
  • Qwt-用于技术应用的Qt小部件。[基于LGPL的自有]
  • QwtPlot3D-一个功能丰富的基于Qt/OpenGL的C++编程库,本质上提供了一堆3D小部件。[zlib]
  • 斯奎特-Sciter是一个可嵌入的HTML/CSS/脚本引擎,旨在用作现代桌面应用程序的UI层。[免费/商业]
  • wxWidget-一个C++库,允许开发人员用单一代码库为Windows、MacOSX、Linux和其他平台创建应用程序。[自己的LGPL]
  • 越国-创建本机跨平台GUI应用程序的库。[LGPLv 2]

图形学

  • 阿斯辛普-OpenAssetImportLibrary(Assimp)是一个跨平台的3D模型导入库,旨在为不同的3D资产文件格式提供通用的API。[BSD-3-条款]网站
  • bgfx-跨平台渲染库。[BSD]
  • BS:框架-现代C++14库,用于开发实时图形应用程序.[麻省理工学院]
  • 开罗-支持多个输出设备的2D图形库。[LGPL 2或Mozilla MPL]
  • 勤劳引擎-一个现代化的跨平台低端3D图形库。[Apache 2]
  • DirectXTK-用C++编写DirectX11.x代码的助手类集合。[麻省理工学院]
  • GLFW-一个简单的、跨平台的OpenGL争用库。[zlib/libpng]
  • 这里的龙-使用各种引擎、框架或API实现的基本3D场景。[麻省理工学院]网站
  • Horde3D-一个小型3D渲染和动画引擎。[EPL]
  • 离子-一组小型和高效的库,用于构建使用3D图形的跨平台客户端或服务器应用程序。[Apache 2]网站
  • 伊尔利赫特-用C++编写的高性能实时3D引擎。[zlib]
  • Libigl-简单的C++几何处理库。[MPL 2]
  • 马格南-轻量级和模块化的C++11/C++14图形中间件,用于游戏和数据可视化。[麻省理工学院]网站
  • 纳米VG反别名2D矢量绘图库之上的OpenGL为用户界面和可视化。[兹利卜]
  • 食人魔3D zap-一个面向场景的、实时的、灵活的3D渲染引擎(相对于游戏引擎)是用C++编写的。[麻省理工学院]
  • OpenScene图-一个开源的高性能3D图形工具包。[OSGPL]
  • OpenSubdiv-用于评估和绘制CPU和GPU上细分曲面的Pixar库。[修改后的Apache 2]
  • OpenVDB-存储、编辑和绘制容量数据集的库和工具。[MPL 2]
  • Panda3D-Python和C++的3D渲染和游戏开发框架。[BSD]
  • 帕蒂奥-粒子数据争论库,支持大多数常见的文件格式。[修改后的BSD]
  • 斯基亚-一个完整的2D图形库,用于绘制文本、几何图形和图像。[BSD]网页
  • 丁香样条-一个小型但功能强大的ANSI C库,用于插值、转换和查询任意NURBS、B样条曲线和Bézier曲线.[麻省理工学院]
  • urho3d-跨平台渲染和游戏引擎。[许多不同的,大多是麻省理工学院]

图像处理

  • Boost.GIL-通用图像库。
  • CImg-一个小型的、开放源码的、用于图像处理的C++工具包。[拥有LGPL或GPL]
  • CxImage-图像处理和转换库,用于加载、保存、显示、转换BMP、JPEG、GIF、PNG、TIFF、MNG、ICO、PCX、TGA、WMF、WBMP、JBG、J2K图像。[zlib]
  • FreeImage-一个开放源码库,支持当今多媒体应用程序所需的流行图形、图像格式和其他格式。[GPL 2或GPL 3]
  • GD-GD图形库,在PHP中著名地用于图像加载/操作和缩略图生成。[自定义许可,需要在用户文档中提及]网站
  • DCMTK-DICOM工具包。
  • GDCM-基层DICOM图书馆。
  • ITK-一个开放的、跨平台的图像分析系统。[Apache 2来自ITK 4.0]
  • 利维普斯-内存需求低的快速图像处理库。[LGPL]网站
  • Magick+-用于C++的ImageMagick程序接口。[Apache 2]
  • MagickWnd-ImageMagick程序接口。[Apache 2]
  • OpenCV zap-开放源码计算机视觉。[BSD]
  • OpenEXR-用于高动态范围成像的跨平台库。[修改后的BSDF]
  • OpenImageIO-强大的图像和纹理争论库,支持大量常见的有损和原始格式。[修改后的BSD]
  • Tesseract-OCR-OCR引擎[Apache 2]
  • TinyEXIF-适用于JPEG的微小ISO兼容的C+EXIF和XMP解析库。[麻省理工学院]
  • 视频+-C++14高性能视频和图像处理库。[麻省理工学院]
  • VIGRA-用于图像分析的通用C++计算机视觉库。[麻省理工学院X11]
  • VTK-开放源码、免费提供的三维计算机图形、图像处理和可视化软件系统。[BSD]

国际化

  • gettext-GNU`gettext‘。[GPL 2]
  • IBM ICU-提供Unicode和全球化支持的一套C/C++和Java库。[伊斯兰法院联盟]
  • 利比索诺夫-不同字符编码之间的编码转换库。[GPL]
  • utf8.h-用于C和C++的单个头UTF 8字符串函数。[无许可证]

进程间通信

  • 阿帕奇-高效的跨语言IPC/RPC,在C++、Java、Python、PHP、C#和许多其他语言之间工作。最初是由Facebook开发的。[Apache 2]
  • 普罗托船长-快速数据交换格式和基于能力的RPC系统.[麻省理工学院]
  • GRPC-高性能、开放源码、通用RPC框架。[BSD]网站
  • -支持C++、C#、Java、JavaScript、Python等的全面RPC框架。[GPLv 2]
  • libjson-rpc-cpp-用于C++服务器和客户端的JSON-RPC框架。[麻省理工学院]
  • 奈米-几个“可伸缩性协议”的简单高性能实现。[麻省理工学院]网站
  • NNG-Nanomsg-下一代,一个轻量级的无经纪人消息库。[麻省理工学院]网站
  • 简单-RPC-CPP-一个简单的RPC包装器生成器,用于C/C++函数。[BSD]
  • 湿法-提供RPC和PUB/SUB消息传递模式。(各种实现,各种语言)
  • xmlrpc-c-基于XML和HTTP的轻量级RPC库。[BSD]
  • ZeroMQ-高速模块化异步通信库。[LGPL]

杰森

  • Boost.PropertyTree-属性树解析器/生成器,可用于解析XML/JSON/INI/Info文件。[助推]
  • 冻住-JSON解析器和C/C++生成器。[GPL及GPL 2]
  • 詹森-C库,用于编码、解码和操作JSON数据。[麻省理工学院]
  • 杰布森-jbson是一个库,用于在C++14中构建和迭代BSON数据和JSON文档。[助推]
  • 杰耶森-一个非常正常(仅限头)的C++JSON库。[BSD]
  • 杰森 zap-现代C++的JSON。[麻省理工学院]
  • JSON+-C++中的JSON解析器。[麻省理工学院]
  • json.h-用C和C++解析JSON的一个简单的头/一个源解决方案。[无许可证]
  • json-c-在C.[麻省理工学院]
  • JsonCpp-用于与JSON交互的C++库。[麻省理工学院]
  • json解析器-用可移植的ANSI C编写的非常低占用空间的JSON解析器。[BSD]
  • 约翰逊11-一个用于C++11的小型JSON库。[麻省理工学院]
  • 杰森-沃希斯-用于C++的JSON库。支持C++11。没有依赖,快速和开发友好。[Apache 2]
  • 黄麻-非常简单的C++JSON解析器。[公共领域]
  • 利布森-C中的JSON解析器和打印机库,易于与任何模型集成。[LGPL]
  • 利布森-轻量级JSON库[?]
  • LIBUCL zap-通用配置库解析器[BSD-2-条款]
  • 皮科-C++中只有头文件的JSON解析器序列化器.[BSD]
  • Qt-json-一个简单的类,用于将JSON数据解析为QVariant层次结构,反之亦然。[GPLv 3]
  • QJSON-一个基于qt的库,它将JSON数据映射到QVariant对象。[LGPL 2]
  • RapidJSON zap-一个具有SAX/DOM风格API的C++快速JSON解析器/生成器。[麻省理工学院]
  • 尤森JSON是一个小型的,C++11,UTF-8,JSON库.[麻省理工学院]
  • 雅杰-一个在C中的快速流JSON解析库。[ISC]

测井

  • 黑洞-基于属性的日志记录框架,它被设计成快速、模块化和高度可定制的.[麻省理工学院]
  • Boost.日志-设计得非常模块化和可扩展。[助推]
  • Easy测井+-单头,为C++11(或更高)应用程序提供极轻的高性能日志记录库。[麻省理工学院]网站
  • G3log-带有动态水槽的异步记录器。[公共领域]
  • 格洛-C+V实现Google日志模块。
  • Log4cpp-C++类库,用于对文件、syslog、IDSA和其他目的地进行灵活的日志记录。[LGPL]
  • log4cplus-一个简单易用的C++日志API,提供线程安全、灵活和任意粒度的日志管理和配置控制。[BSD&Apache 2]
  • 罗古鲁-一个轻量级的C++日志库。[公共领域]
  • 普洛-便携式和简单的C++日志库。[MPL 2]
  • 鲁莽-低延迟、高吞吐量、C++异步日志记录库.[麻省理工学院]
  • 木木-超快,仅标头,C++日志库。
  • 台面-一个非常小而轻量级的C++库,您可以使用它将日志添加到您的C++应用程序中。[助推]
  • P7Baical-一个开放源码和跨平台库,用于高速发送遥测和跟踪数据,并减少CPU和内存的使用。[LGPL]

机器学习

  • 咖啡-神经网络的快速框架。[BSD]
  • 咖啡2-一个轻量级、模块化和可伸缩的深度学习框架。[Apache 2]网站
  • CCV-基于C的/缓存/核心计算机视觉库,现代计算机视觉库。[BSD]
  • 菲多-一个高度模块化的C+V机器学习库,用于嵌入式电子和机器人技术。[麻省理工学院]网站
  • -现代C++数据科学工具包。[麻省理工学院]网站
  • 密涅瓦-一个快速和灵活的深度学习系统。[Apache 2]
  • 毫升包-一个可伸缩的c++机器学习库。[LGPLv 3]网站
  • OpenCV zap-开放源码计算机视觉库。[BSD]网站
  • 推荐人-使用协作过滤(CF)的产品建议/建议库。[BSD]
  • RNNLIBRNNLIB是一个用于序列学习问题的递归神经网络库。[GPLv 3]
  • 苏贡-射击机学习工具箱。[GPLv 3]
  • 索菲亚-一套用于机器学习的快速增量算法。[Apache 2]
  • VLFeatVLFeat开源库实现了流行的计算机视觉算法,专门用于图像理解和本地特征的提取和匹配。[BSD-2-条款]网站
  • xgBoost可扩展、可移植和分布式梯度增强(GBDT、GBRT或GBM)库,用于Python、R、Java、Scala、C++等。运行在单机,Hadoop,火花,Flink和数据流。[Apache 2]

数学

  • 凋亡-统计和科学计算C库[GPL 2]
  • 鲤鱼-用于C++语言的高质量线性代数库(矩阵数学),旨在实现速度和易用性之间的良好平衡。语法(API)故意类似于Matlab。[MPL 2]网站
  • 熊熊-用于密集和稀疏算法的高性能C++数学库。[BSD]
  • Boost.多精度-在C++中提供更高范围/精度的整数、Rational和浮点类型,只有头或带有GMP/MPFR/LibTomMath后端。[助推]
  • 谷神星-C++库,用于建模和解决Google的大型复杂非线性最小二乘问题。[BSD]
  • CGAL-收集有效和可靠的几何算法。[LGPL及GPL]网站
  • CML-免费的C++数学库,用于游戏和图形。[助推]
  • 本征-用于线性代数、矩阵和向量运算、数值求解器和相关算法的模板头的高级C++库。[MPL 2]
  • ExprTK-C++数学表达式工具箱库(ExprTk)是一个简单易用、易于集成和极其高效的运行时数学表达式解析器和评估引擎。[麻省理工学院]
  • 几何工具-C++库,用于数学、图形、图像分析和物理领域的计算。[助推]网站
  • GLM头-只有C++数学库匹配和互操作与OpenGL的GLSL数学。[麻省理工学院]
  • GMTL图形数学模板库(Graphics Math Template Library)是一组以通用方式实现图形基元的工具集合。[GPL 2]
  • GMP-用于任意精度算术的C库,可操作有符号整数、有理数和浮点数.[LGPL 3及GPL 2]
  • MIRACL-多精度整数和有理算术密码库。[AGPL]
  • 多解析器-muParser是一个用C++编写的可扩展的高性能数学表达式解析器库。[麻省理工学院]
  • NT2-一个SIMD优化的数字模板库,它提供了与MATLAB类语法的接口.[助推]
  • LibTomMath-一个完全用C语言编写的免费开源便携数论多精度整数库。[PublicDomain&WTFPL]网站
  • linmath.h-一个精简的线性数学库,旨在进行图形编程。[WTFPL]
  • OpenBLAS-基于GotoBLAS21.13 BSD版本的优化BLAS库。[BSD 3-条款]网站
  • QuantLib-一个免费/开放源码的定量金融图书馆。[修改后的BSD]网站
  • StatsLib-C++头-只有统计分布函数库。[Apache 2]网站
  • TinyExpr-一个C库,用于解析和计算字符串中的数学表达式。[zlib]
  • vc-SIMD向量类,用于C++。[BSD]
  • 维索-几何代数的(快速)通用C+库,包括欧几里德、射影、共形、时空(等)。
  • 怀克比-C++库的高效、健壮和简单,使用C++面向2D/3D的计算几何例程。[麻省理工学院]
  • X张量-C++14库,用于多维数组表达式的数值分析,受到NumPy语法的启发.[BSD 3-条款]网站

内存分配

  • 囤积-用于Linux、Windows和Mac的快速、可扩展和内存高效的Malloc。[GPL,商业]网站
  • jemalloc-通用malloc(3)实现,强调分散、避免和可伸缩的并发支持。[BSD]网站

多媒体

  • 流光器-用于构建媒体处理组件图的库。[LGPL]
  • 利巴夫-收集图书馆和工具,以处理音频、视频、字幕和相关元数据等多媒体内容。[LGPL v2.1+和其他]网站
  • LIVE 555流媒体-使用开放标准协议(RTP/RTCP、RTSP、SIP)的多媒体流库。[LGPL]
  • LibVLC-libVLC(VLC SDK)媒体框架。[GPL]
  • MediaInfoLib-方便地统一显示视频和音频文件中最相关的技术和标签数据。[BSD]
  • QtAv-基于Qt和FFmpeg的多媒体播放框架,可以轻松编写播放器。[LGPL]网站
  • SDL zap-简单的DIRECTMEDIA层。[zlib]
  • SFML zap-简易快速多媒体图书馆。[zlib]网站
  • 塔格利布-一个用于阅读和编辑几种流行音频格式的元数据的图书馆。[LGPL/MPL]网站

联网

  • 王牌-用C++编写的面向对象网络编程工具包。[?MIT?]
  • 阿西奥 zap-一个跨平台的C++库,用于网络和低级I/O编程。[助推]
  • 布瑞普基于事件的高级C++14点对点库.[EUPL-1.1(现场视察批准)]
  • C+REST SDK-C++REST SDK(以前称为Casablanca)。[Apache 2]
  • 禁闭-C++11异步RESTful框架。[AGPL]
  • CPP-netlib-用于高级网络编程的开放源码库的集合。[助推]
  • 心肺复苏-一个具有简单但功能强大的现代C++HTTP请求库。建模为Python请求模块。[麻省理工学院]网站
  • 卷曲-面向对象的C++cURL包装器(Libcurl)。[麻省理工学院]
  • Dyad.c-C.异步联网。[麻省理工学院]
  • ENET-可靠的UDP网络图书馆。[麻省理工学院]网站
  • 埃普-C++采用TCP/UDP/HTTP协议的高性能网络。[BSD]
  • H_2O-支持HTTP/1.x和HTTP/2的优化HTTP服务器。它也可以用作图书馆。[麻省理工学院]
  • http Parser zap-一个用于C的http请求/响应解析器。[麻省理工学院]
  • 利伯尔-多协议文件传输库。[MIT/X衍生许可证]
  • 利宾格尔-Google Talk语音和P2P互操作性库。[BSD]
  • Libmicrohttpd-GNUlibmicrohttpd是一个小的C库,它可以方便地作为另一个应用程序的一部分运行HTTP服务器。[LGPL v2.1+]
  • 脂帽-一个便携式C/C++库,用于网络流量捕获。[BSD]网站
  • Libquic-从铬的Quic实现中提取的Quic协议库。[BSD]
  • libwebSocket-提供客户端和服务器库的轻量级纯C WebSocket实现。[LGPL2.1+静态链接异常]网站
  • 猫鼬-极轻的网络服务器。[GPL 2]
  • 木多-一个用于Linux多线程服务器的C+非阻塞网络库.[BSD]
  • nghttp 2-HTTP/2C库。[麻省理工学院]网站
  • Nope.c-一个基于C语言的超轻软件平台,用于可伸缩的服务器端和网络应用程序.为C程序员考虑node.js。[GPL 2]
  • 洋葱-HTTP服务器库,在C设计为轻量级和易于使用。[Apache 2/GPL 2]
  • 波科 zapC++类库和框架,用于构建运行在桌面、服务器、移动和嵌入式系统上的基于网络和互联网的应用程序。[助推]网站
  • 丙氧-Facebook收集的C++HTTP库,包括易于使用的HTTP服务器。[BSD]
  • RakNet-一个跨平台、开源、C++的游戏程序员网络引擎。[BSD]
  • 夏洛克-简单、小、C++可嵌入的Web服务器,支持WebSocket。[BSD]
  • -一个高性能、面向中间件的C++14 http Web框架。[麻省理工学院]
  • 图昂-建立在Qt之上的C++异步Web框架。[LGPL 2]
  • uWebSocket-WebSocket&HTTP服务器实现是最轻量级、最高效和最可伸缩的WebSocket和HTTP服务器实现之一。[兹利卜]
  • 魔杖-客户机/服务器应用程序框架,用于构建异步的、事件驱动的现代C++服务。[Apache2.0]
  • WDT-一个可嵌入的库(和命令行工具),旨在尽可能快地在多个TCP路径上在两个系统之间传输数据。[BSD-3-条款]
  • WebSocket+-基于WebSocket客户机/服务器库的C++/Boost ASIO。[BSD]

PDF

用于解析和操作PDF文档的库。

  • 利巴鲁-一个免费、跨平台、开源的生成PDF的软件库。[zlib]
  • 穆PDF-轻量级PDF、XPS和电子书查看器.[AGPL/商业]
  • 波多福-使用PDF文件格式的库。[LGPL]
  • 波普尔-基于xpdf-3.0代码库的开源多后端PDF呈现库.[GPLv 2/GPLv 3]
  • XpdfXpdf是一个免费的PDF查看器和工具包,包括文本提取器、图像转换器、HTML转换器等等。[GPL v2/GPL v3]
  • DynaPDF-易于使用的PDF生成库。[商业]

物理

动力学仿真引擎

  • Box2D-游戏用2D物理引擎。[BSD样]
  • 子弹-3D游戏物理引擎。[zlib]网站
  • 花栗鼠-一个快速和轻量级的2D游戏物理库。[麻省理工学院]网站
  • 利己-游戏用2D物理引擎。[BSD样]
  • 牛顿动力学-物理环境实时模拟的综合解决方案。[zlib]
  • 颂歌-OpenDynamicEngine-一个用于模拟刚体动力学的开源、高性能库。[BSD及LGPL]
  • OfxBox2d-Box2D的openFrameworks包装器。[BSD样]
  • 辛博特-高性能C++多体动力学/物理库,用于模拟铰接式生物力学和机械系统,如车辆、机器人和人体骨骼。[Apache 2]

正则表达式

  • CppVerbalExprestions-C++正则表达式容易实现。[麻省理工学院]
  • CTRE编译时PCRE(几乎)兼容正则表达式匹配器。[麻省理工学院]
  • PCRE-一个正则表达式C库,它受Perl中正则表达式功能的启发。[BSD]
  • Re2-利用自动机理论通过有限状态机建立正则表达式的软件库.[BSD-3-条款]
  • SLRE-用于C/C++的超级轻型Regexp引擎。[GPLv 2/商业]

机器人学

  • Moos-IVP-一套开放源码的C++模块,用于在机器人平台上,特别是在自主的海洋车辆上提供自主。
  • MRPT-移动机器人编程工具包。[BSD]
  • PCL点云库是一个独立的、大规模的、开放的2D/3D图像和点云处理项目[BSD]网站
  • 机器人库(RL)-一个独立的C++库,用于机器人运动学、运动规划和控制。[BSD]
  • 罗布沃克-一个用于模拟和控制机器人系统的C++库的集合。[Apache 2]
  • 罗斯-机器人操作系统提供图书馆和工具,帮助软件开发人员创建机器人应用程序。[BSD]

科学计算

  • AMGCL-只有头的C++库,用于求解具有代数多重网格的大型稀疏线性系统。[麻省理工学院]
  • FFTW-一个C库,用于在一个或多个维度中计算DFT。[GPL]
  • 谷胱甘肽-GNU科学图书馆。[GPL]
  • TileDB-快速、密集和稀疏的多维数组DBMS。[麻省理工学院]网站
  • 特里利诺斯-高性能PDE解决器。[BSD]
  • 火炬-一个科学的计算框架,广泛支持机器学习算法,把GPU放在第一位。[BSD-3-条款]网站

脚本编写

  • Boost.Python-一个C++库,使C++和Python编程语言之间能够无缝地互操作。[助推]
  • cppimport-直接从Python导入C++文件![麻省理工学院]
  • 夏普-将C/C++API粘合到高级语言的工具和库。[麻省理工学院]
  • ChaiScript-一种易于使用的C++嵌入式脚本语言。[BSD]网站
  • cypes.sh-bash的外部函数接口。[麻省理工学院]
  • CythonCython是Python编程语言和扩展Cython编程语言(基于Pyrex)的优化静态编译器。它使得为Python编写C扩展与Python本身一样容易。[阿帕奇]网站
  • 金尼-生成跨语言类型声明和接口绑定的工具。[Apache 2]
  • 杜克磁带-嵌入式Javascript引擎,具有紧凑的足迹。[麻省理工学院]网站
  • JavaCpp-Java与本机C++之间缺少的桥梁。[Apache 2]
  • 利布菲-便携式外接接口库。[麻省理工学院]网站
  • 卢阿-用于配置文件和基本应用程序脚本的最小和快速脚本引擎。[麻省理工学院]
  • 卢阿桥-一个轻量级的、无依赖的库,用于将Lua绑定到C++。[麻省理工学院]
  • 卢卡-创建Lua绑定的C++11 API。[麻省理工学院]
  • NBIND-使您的C++库可以从JavaScript访问的神奇标题。[麻省理工学院]
  • 吡啶11-C++11和Python之间的无缝可操作性。[BSD]
  • 啜饮-用于Pythonv 2和v3的C或C++绑定生成器。[GPL]
  • 溶胶2-C++<->LuaAPI包装器,具有先进的特性和一流的性能。[麻省理工学院]
  • 大口-包装器/接口生成器,允许您将C++代码链接到Javascript、Perl、PHP、Python、TCL和Ruby。[GPL/输出未获许可]网站
  • V7-嵌入式JavaScript引擎。[GPL 2]
  • V8-Google提供的快速JavaScript引擎,可以嵌入到任何C++应用程序中。[BSD]
  • 查克拉科尔-Microsoft的JavaScript引擎,可以嵌入到NodeJS中。[麻省理工学院]

串行化

  • 谷类-用于序列化的C++11库。[BSD]
  • cppcodec-头-只有C++11库用一致、灵活的API对base 64、base 32和十六进制进行编码/解码。[麻省理工学院]
  • FlatBuffers-内存高效序列化库。[Apache 2]
  • MessagePack-用于C和C++的高效二进制序列化格式“像JSON”。[Apache 2]网站
  • 原虫-协议缓冲区-Google的数据交换格式。[BSD]
  • 原生质c-议定书缓冲区在C.[BSD]
  • 简单二进制编码-为低延迟应用程序以二进制格式编码和解码应用程序消息。[Apache 2]
  • UPB-在C.[BSD]
  • 雅思-非常快Y内皮素A另一个S序列化库支持二进制/text/json格式。[助推]

分选

  • 蒂姆塞德-一种模板稳定的排序功能,其性能优于基于快速排序的算法,包括std:Sort,用于反向或半排序的数据。[麻省理工学院]

视频

  • libvpx-VP 8/VP9编解码SDK。[BSD]
  • FFmpeg-一个完整的跨平台解决方案,用于录制、转换和播放音频和视频。[LGPL 2/GPL 2]
  • Libde 265-打开H.265视频编解码器。[LGPL]网站
  • OpenH 264-开放源码H.264编码。[BSD]网站
  • 西奥拉-免费公开视频压缩格式。[BSD]
  • 维罗-Twitter提供的轻量级多功能视频处理库。[麻省理工学院]

虚拟机

  • CarpVM-C中的“有趣的”VM,让我们看看它是如何进行的。[GPLv 3]
  • 微Python-目的是在微控制器上实现Python3.x。[麻省理工学院]
  • TinyVM-用纯ANSI C编写的小型、快速、轻量级虚拟机。[麻省理工学院]

Web应用框架

  • 文明网-提供易于使用、功能强大的C/C++嵌入式Web服务器,并提供可选的CGI、SSL和Lua支持。[麻省理工学院]
  • CppCMS-免费高性能网络开发框架(不是CMS)。[LGPLv 3]
  • 乌鸦-Crow是C++微Web框架(受PythonFlask的启发)。[BSD]
  • 库泰斯特-一个基于Qt的C++Web框架,使用简单的催化剂(Perl)框架方法。[LGPLv2.1+]网站
  • 设施-偶发的、高性能的C Web框架,支持HTTP、WebSocket、SSE等。[麻省理工学院]网站
  • 柯尔-超高速灵活的Web服务器/框架,用于C语言开发的Web应用程序。[ISC]
  • 洋葱-轻量级库,帮助您使用C编程语言创建Web服务器。[LGPLv 3]
  • 卢恩-实验性的、可伸缩的、高性能的HTTP服务器。[GPL 2]
  • 手枪-Pistache是用纯C++11编写的C++REST框架,没有外部依赖。[Apache 2]
  • QDjango-用C++编写并建立在Qt库之上的Web框架。在可能的情况下,它尝试遵循Django的API,因此它的名称。[LGPL]
  • 树蛙框架-基于C++和Qt的高速全栈Web应用程序框架,它支持HTTP和WebSocket协议(带有O/R映射)。[BSD]网站
  • 威汤哥-开发Web应用程序的C++库。[GPL/商业]

XML

XML是垃圾。真的没有借口。XML对于人类来说很难解析,即使对计算机来说也是一场灾难。那些可怕的废话根本就没有存在的理由。-Linus Torvalds

  • Boost.PropertyTree-属性树解析器/生成器,可用于解析XML/JSON/INI/Info文件。[助推]
  • 外派-用C语言编写的XML解析器库。[麻省理工学院]
  • Libxml 2-Gnome的XML C解析器和工具包。[麻省理工学院]
  • libxml+-用于C++的XML解析器。[LGPL 2]
  • Mini-xml-用ANSI C编写的一个小型XML解析库。[LGPL 2除外]
  • PugiXML-一个轻量级、简单、快速的C++XML解析器,支持XPath。[麻省理工学院]
  • RapidXml-尝试创建最快的XML解析器,同时保持可用性、可移植性和合理的W3C兼容性。[助推]
  • TinyXML-一个简单、小、最小的C++XML解析器,可以很容易地集成到其他程序中。[zlib]
  • TinyXML 2-一个简单、小、高效的C++XML解析器,可以很容易地集成到其他程序中。[zlib]
  • TinyXML+-一个全新的TinyXML接口,它使用了许多C++的优点。模板、异常和更好的错误处理。[麻省理工学院]
  • Xerces-C+-在可移植的C++子集中编写的验证XML解析器。[Apache 2]

杂类

不属于上述类别的有用的库或工具,或者只是还没有分类

  • 存取剖面仪-计算C++程序中成员变量访问次数的工具。[GPL 3]
  • 美国长毛垂耳兔a.k.a.AFL-Fuzz-Crazy FuzingTool自动发现错误,给定的时间和最小的示例输入。[Apache 2]
  • 更好的Enum-反射枚举(字符串、迭代)。单头。[BSD]网站
  • 更好的字符串-C字符串库的另一种选择,它功能更强,不存在缓冲区溢出问题。还包括一个C++包装器。[BSD,GPL 2]
  • Boost.Signals-实施有管理的信号和插槽系统。[助推]
  • {FMT} zap-小型、安全和快速的C++格式库。[简化BSD]
  • FastFormat-受log4j和Pantheios[简化BSD]启发,快速、安全的C++格式设计
  • 干酪堆-从AIPS++派生的一套C++核心库。[LGPL]
  • QtVerbalExpressions-这个Qt库基于C++VerbalExpressions库。[麻省理工学院]
  • C-智能指针-(GNU)C编程语言的智能指针。[麻省理工学院]
  • CXX-印刷-一个用于C++容器的漂亮的打印库。[助推]
  • GCC毒-一个简单的头文件,用于开发人员从应用程序中禁止不安全的C/C++函数。
  • 袋鼠-C++11和C++14的依赖注入容器。[麻省理工学院]
  • 克利卜-小型和轻型实现通用算法和数据结构。[麻省理工学院]
  • libSigc+-标准C++的类型回收系统。[LGPL]
  • 利布-一个用于x86 CPU检测和特征提取的小型C库。[BSD]
  • 石砧-邪恶许可证经理[GPLv 3]
  • 利布尼-一个轻型C函数和结构库。[GPL 2.1]
  • Libusb-通用USB库,允许便携式访问USB设备。[LGPL 2]
  • 马赫7-用于C++的模式匹配库。[BSD]
  • -C++中只使用标头、非侵入性和宏无关的运行时反射系统.[麻省理工学院]
  • pdqSort-模式-击败快速.[zlib]
  • PHP-CPP-一个用C++构建PHP扩展的库。[Apache 2]网站
  • 远程调用框架-C++的进程间通信框架.[GPL 2/商业]
  • 闪烁体-免费源代码编辑组件。[麻省理工学院]
  • 十二烷基硫酸钠-C.的简单动态字符串库。[BSD]
  • 塞维尔.c-一个在ANSI C中的语义解析器和呈现器。[麻省理工学院]
  • 串行通信库-跨平台,用C++编写的串口库.[麻省理工学院]
  • σ槽-C++信号/插槽库。[公共领域]
  • 单纯信号-高性能C++11信号。[公共领域]
  • 舞台-移动机器人模拟器。[GPL 2]
  • 斯特曼格式化C++11/14 stdlib手册页(来自cp首选项)。[麻省理工学院]
  • 机顶盒 zap-一系列用于C/C++的单文件库。[公共领域]
  • 斯特拉克-由高性能字符串处理例程组成的C++库。[麻省理工学院]
  • 郁金香指标-一个拥有100多个财务技术分析指标的C库。[LGPL]
  • UB-金丝雀-一组C/C++程序,试图使编译器利用未定义的行为。
  • 值-类别-备忘单用于lvalue、rvalue等的PDF样式表。[Jank版权左边]
  • VarTypes-一个功能丰富、面向对象的框架,用于管理C++/Qt4中的变量.[LGPL]
  • 兹巴-条形码扫描器库,允许扫描照片/图像/视频流中的条形码并返回它们的值。[LGPL 2]
  • 中兴-一个开放源码的、多格式的1D/2D条形码图像处理库,用Java实现,并带有其他语言的端口。[阿帕奇]

软件

用于创建开发环境的软件。

编译器

C或C++编译器列表

  • 8cc-一个小型C编译器。
  • c-一次编译并执行C“脚本”![麻省理工学院]
  • 嘎嘎-LLVM的C编译器。支持C++11/14/1ZC11。由LLVM团队开发。[NCSA]
  • GCC-GNU汇编。支持C++11/14/1ZC11和OpenMP。[GNU GPL 3]
  • PCC-一个很老的C编译器。支持C99。
  • Intel 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-微型C编译器[LGPL]

在线编译器

在线C或C++编译器列表

  • 代码页-一个在线编译器/解释器和一个简单的协作工具。
  • 科尔鲁-支持各种C++编译器的在线编译器/shell。
  • 编译器资源管理器-具有程序集输出的交互式编译器。
  • 联机编译-在Linux上编译并在线执行C++
  • 德龙-一个在线编译器和调试工具,允许您编译源代码并以60多种编程语言在线执行。
  • 回复-为教育工作者、学习者和开发人员提供强大而简单的工具和平台。
  • 雷克斯试验器-提供多个编译器(Clang、GCC、MSVC)和几个编辑器的在线编译器。
  • Rise4Fun-联机VisualC++编译器。
  • 在网上试试-TiO是一个在线口译员家族,为越来越多的实用和娱乐编程语言提供口译服务。
  • 魔盒-一个在线Clang/GCC编译器,提供Boost。

调试器

C或C++调试器列表

  • 调试器的比较-维基百科的调试器列表。
  • GDB-GNUDebugger
  • LLDBLLDB调试器
  • 梅塔希尔-交互式模板元编程外壳程序,其中包括MDB元调试器。
  • 瓦兰-用于内存调试、内存泄漏检测和分析的工具。
  • x64dbg-用于windows的开源x64/x32调试器。

综合开发环境

C或C++标称IDE列表。

  • Anjuta DevStudio-侏儒IDE[GPL 3]
  • AppCode-在JetBrains的IntelliJ IDEA平台上构建了一个面向Object-C、C++和JavaScript开发的IDE。
  • 厚膜-基于EclipseCDT的跨平台C和C++IDE以及附加插件.
  • 克里恩-JetBrains的跨平台C和C++IDE。
  • 代码:块-免费的C、C++和Fortran IDE。
  • CodeLite-另一个交叉格子,免费的C和C++IDE。[GPL 2插件除外]
  • 颜色编码-基于libclang的突出显示的vim插件。[麻省理工学院]
  • 开发-C+-便携式C/C++/C++11 IDE。
  • 月食CDT-一个基于Eclipse平台的功能齐全的C和C++IDE。
  • 盖尼-小型、快速、跨平台IDE。[GPL]
  • IBM视觉时代-IBM的计算机集成开发环境系列。
  • 反讽模式-C/C++小型模式,Emacs由libclang供电。
  • JuCi+-跨平台,轻量级C++IDE与libclang集成。[麻省理工学院]
  • KDe信封-免费、开放源码的IDE。
  • MicrosoftVisualStudio-微软的IDE
  • NetBeans-主要用Java开发的IDE,但也可以使用其他语言,特别是PHP、C/C++和HTML 5。
  • QT创造者 zap-跨平台C++、JavaScript和QMLIDE,它是Qt SDK的一部分。
  • rtag-C/C++客户机/服务器索引器,用于与基于CLang的emacs集成。
  • Xcode-由苹果公司开发。
  • YouCompleteMe-YouCompleteMe是一个快速的,按你的类型,模糊搜索代码完成引擎的Vim.
  • 查询C++代码完成引擎,用于vscode、emacs、vim等。

构建系统

  • 巴泽尔-一个来自Google的多语言、快速和可伸缩的构建系统。[阿帕奇]
  • -为CLANG工具生成编译数据库的工具。[GPLv 3]
  • cget-Cmake包检索,用于下载和安装cmake包。[助推]
  • 剪刀-C程序设计语言的包管理器。[麻省理工学院]
  • 科马克-跨平台免费开放源码软件,用于使用独立于编译器的方法管理软件的构建过程。[BSD]
  • C+档案网络-跨平台C++依赖管理器,有很多可用的软件包。
  • 柯南-C/C++包管理器,开源。[麻省理工学院]
  • CPM-基于CMake和Git的C++包管理器。
  • FASTBuild-高性能、开放源码的构建系统,支持高度可伸缩的编译、缓存和网络分发。
  • 亨特-CMake驱动的C++跨平台包管理器。[BSD-2]
  • 梅森伯德-一个开放源码的构建系统,不仅要非常快,而且更重要的是,要尽可能地使用户友好。
  • 忍者-以速度为重点的小型建筑系统。
  • 斯库斯-用Python脚本配置的软件构造工具。
  • 强者-Scon为EclipseCDT构建系统集成。
  • 斯派克-支持多种版本、配置、平台和编译器的灵活包管理器。[Apache2.0/MIT]
  • 冻土带-高性能代码构建系统,旨在为大型软件项目提供最佳的增量构建时间。
  • 托普-基于文件的生成系统,监视后台更改的文件。
  • 预制-一个配置了Lua脚本的工具,用于生成Visual Studio、GNU Make、Xcode、Code:Block等跨Windows、MacOSX和Linux的项目文件。
  • Vcpkg-用于Windows的VC++打包工具。
  • WAF-基于Python的配置、编译和安装应用程序的框架。[BSD]网站
  • XMake-基于Lua的C/C++跨平台构建实用程序。[阿帕奇]

静码分析

通过代码分析提高质量和减少缺陷的工具列表

  • 查普切克-静态C/C++代码分析工具。-来源
  • CppDepend-通过分析和可视化代码依赖关系、定义设计规则、进行影响分析和比较不同版本的代码,简化了复杂的C/C++代码库的管理。
  • cpplint-C++样式检查器,遵循Google的C+样式指南。
  • PVS-Studio-用C、C++和C#编写的程序源代码中的bug检测工具。
  • CPP-依赖性-检查C++#的工具包括依赖项(以.point格式创建的依赖关系图)。[阿帕奇]
  • 包括-你用什么?-用于分析C和C++源文件中的CLang的工具。网站
  • 推断-Java、C和ObjectC静态分析器-C。[BSD]
  • OCLint-一个静态源代码分析工具,用于改进C、C++和Object-C的质量和减少缺陷。-来源
  • clang静态分析仪-在C,C++和Object-C程序中查找bug的源代码分析工具。
  • Linticator-Eclipse CDT集成Pc-/FlexeLint。
  • 静态代码分析工具列表-维基百科的静态代码分析工具列表。

编码风格工具

资源

各种资源,如书籍、网站和文章,以提高您的C+开发技能和知识。

API设计

文章

精彩的C+相关文章。

书籍

神奇的C或C++相关书籍。

编码风格

播客

  • 卡斯特-C++开发人员为C++开发人员播客的第一次播客。

会谈

视频

精彩的C或C++​​​​​​​相关视频。

网站

有用的C或C++​​​​​​​相关网站。

网志

有用的C或C++相关的网络博客。

其他令人惊奇的项目

收集有用的代码片段.。

其他令人讨厌的名单

其他令人惊讶的令人敬畏的列表

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐