转载:https://github.com/fffaraz/awesome-cpp
目录
标准图书馆
C++标准库-包括STL容器、STL算法、STL函数等。
- C++标准库-用核心语言和C++ISO标准本身编写的类和函数的集合。
- 标准模板库-标准模板库(STL)。
- C POSIX图书馆-POSIX系统C标准库的规范。
- ISO C++标准委员会-ISO/IEC JTC 1/SC 22/WG21-C++标准委员会。网站
- GNU C图书馆-本手册的目的是告诉你如何使用GNU C图书馆的设施。
框架
C++通用框架和库。
- abc CPP-abc C++公共图书馆。[Apache 2]
- Apache C++标准库-STDCXX,算法、容器、迭代器和其他基本组件的集合。[退休][Apache 2]
- 阿普尔-Apache便携式运行时另一个跨平台实用函数库。[Apache 2]
- ASL-AdobeSource库提供同行评审和可移植的C++源代码库。[麻省理工学院]
- 助推
-大量的通用C++库。[助推]网站
- 溴二苯醚-彭博实验室的BDE开发环境。[Apache 2]
- 煤渣-一个社区开发的、免费的、开放源码的图书馆,用于专业质量的创造性编码.[BSD]
- 克克逊堡-一个小型的、只有头的库,它支持C++03中一些漂亮的C++11的好东西。[麻省理工学院]
- 德利卜
-使用合同编程和现代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
-跨平台应用程序和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
-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
-一个面向场景的、实时的、灵活的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
-开放源码计算机视觉。[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]
- 杰森
-现代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
-通用配置库解析器[BSD-2-条款]
- 皮科-C++中只有头文件的JSON解析器序列化器.[BSD]
- Qt-json-一个简单的类,用于将JSON数据解析为QVariant层次结构,反之亦然。[GPLv 3]
- QJSON-一个基于qt的库,它将JSON数据映射到QVariant对象。[LGPL 2]
- RapidJSON
-一个具有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
-开放源码计算机视觉库。[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-条款]网站
内存分配
多媒体
- 流光器-用于构建媒体处理组件图的库。[LGPL]
- 利巴夫-收集图书馆和工具,以处理音频、视频、字幕和相关元数据等多媒体内容。[LGPL v2.1+和其他]网站
- LIVE 555流媒体-使用开放标准协议(RTP/RTCP、RTSP、SIP)的多媒体流库。[LGPL]
- LibVLC-libVLC(VLC SDK)媒体框架。[GPL]
- MediaInfoLib-方便地统一显示视频和音频文件中最相关的技术和标签数据。[BSD]
- QtAv-基于Qt和FFmpeg的多媒体播放框架,可以轻松编写播放器。[LGPL]网站
- SDL
-简单的DIRECTMEDIA层。[zlib]
- SFML
-简易快速多媒体图书馆。[zlib]网站
- 塔格利布-一个用于阅读和编辑几种流行音频格式的元数据的图书馆。[LGPL/MPL]网站
联网
- 王牌-用C++编写的面向对象网络编程工具包。[?MIT?]
- 阿西奥
-一个跨平台的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
-一个用于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]
- 波科
C++类库和框架,用于构建运行在桌面、服务器、移动和嵌入式系统上的基于网络和互联网的应用程序。[助推]网站
- 丙氧-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的软件库。[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}
-小型、安全和快速的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首选项)。[麻省理工学院]
- 机顶盒
-一系列用于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创造者
-跨平台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。
- 静态代码分析工具列表-维基百科的静态代码分析工具列表。
编码风格工具
- ClangFormat-格式化C/C++/Obj-C代码的工具。
- clang-Tidy-基于Clang的C++Linter工具。
- 拆解-代码美化器。
资源
各种资源,如书籍、网站和文章,以提高您的C+开发技能和知识。
API设计
文章
精彩的C+相关文章。
- CppCon 2018演示材料-CppCon 2018介绍材料。
- CppCon 2017演示材料-CppCon 2017介绍材料。
- CppCon 2016演示材料-CppCon 2016介绍材料。
- 2015年介绍材料-2015年介绍材料。
- CppCon 2014演示材料-CppCon 2014年介绍材料。
- C++现在2018年演示文稿-在2018年C++会议上提交的介绍材料。
- C++现在是2017年演示文稿-2017年在C++上提交的介绍材料。
- C++现在是2016年演示文稿-在2016年C++会议上提交的介绍材料。
- C++现在是2015年演示文稿-在2015年C++会议上介绍材料。
- C++现在是2014年演示文稿-2014年在C++上提交的介绍材料。
- C++现在是2013年演示文稿-2013年在C++会议上提交的介绍材料。
- C++现在是2012年演示文稿-2012年在C++上提交的介绍材料。
书籍
神奇的C或C++相关书籍。
编码风格
- C++核心准则-C++编写人审查的一套“正式”C++准则。
- C++Dos和Don-ChromiumProjects>for Developer>Coding Style>C++Dos和Don‘ts。
- 谷歌风格指南-谷歌发起的开源项目的风格指南。
- GoogleC+风格指南
- GNU编码标准
- Linux内核编码风格
- LLVM编码标准
播客
- 卡斯特-C++开发人员为C++开发人员播客的第一次播客。
会谈
- CppCon会谈
-C++会议。
- 用C++11/C++14快速开发游戏维托里奥·罗密欧(Vittorio Romeo)2014年CppCon谈话。
- 关于Hana for C++Now 2015的介绍
视频
精彩的C或C++相关视频。
- C或C++YouTube视频列表
- Hi Def中了不起的C编程教程[HD]-为初学者和新程序员编写的详细C编程语言教程集。
- C++-通过VoidRealms
- C++QT编程-通过VoidRealms
- C++编程教程播放列表-纽波士顿官方巴克利C++编程教程播放列表。
- C++编程教程-这些都是卫博斯顿的C++编程教程。
- 带有Qt播放列表的C++GUI-官方的播放列表,提供了Qt教程的Wboston C++GUI。
- C编程教程-所有NewBoston的C编程教程都在这里。
- 博谦播放列表-Boost Library,C++标准库,现代C++,高级STL,.
网站
有用的C或C++相关网站。
- 标准C++
-关于标准C++的新闻、现状和讨论。
- CppCon-C++会议。
- C++参考-C++98,C++03,C++11,C++14参考。
- cplusplus.com-C+V资源网络。
- C常见问题-c常见问题。
- C++常见问题-C++常见问题。
- C++FQA Lite-C++经常被问到答案。
- 本周大师-由Herb Sutter创建和编写的一系列C++编程问题。
- 会议C++
- C++问答-C++测试,您建议在开源项目的代码片段中查找错误。
- Udemy C++课程和教程
- C++提示-每一个工作日都会提示出最常见的C++错误,以及PVS-Studio团队解决这些错误的方法。
- C++教程-用户对在线教程银行网站进行排名,该网站显示多个课程供学习C++。
网志
有用的C或C++相关的网络博客。
其他令人惊奇的项目
收集有用的代码片段.。
其他令人讨厌的名单
其他令人惊讶的令人敬畏的列表
- 列表-在GitHub上编制的(令人敬畏的)名单。
- 令人敬畏-一份令人敬畏的策划清单。
- 太棒了
-一份令人敬畏的名单。
- C++链接-C++资源分类清单。
- 超棒C++.‘>的镜子
- 超棒C++-利伯亨特的镜子
- 令人敬畏的C 1
- 令人敬畏的C 2
- AwesomePerfCpp-一个令人敬畏的C/C++性能优化资源的管理列表。
- 免费编程书籍-免费获得的编程书籍清单。
- 因格卢德-QT图书馆档案。
- 报纸-我们-喜欢-计算机科学界的论文,供阅读和讨论。
- 超赞算法-一份学习和/或练习算法的好地方的策划清单。
- 太棒了-谈话-许多屏幕、用户团体聚会和会议谈话的录音。
- 项目-任何人都可以用任何编程语言解决的实用项目清单。
- 很棒的面试问题-包括C和C++在内的最流行技术的面试问题清单。
- Nothing/单文件库
-单文件C/C++库列表。