An open API service indexing awesome lists of open source software.

awesome-cpp

A collaborative list of awesome cpp resources. Feel free to contribute!
https://github.com/alwayrun/awesome-cpp

Last synced: about 4 hours ago
JSON representation

  • API设计

  • GUI

    • CEGUI - 很灵活的跨平台GUI库.
    • libRocket - C++ HTML/CSS 游戏接口中间件. [MIT]
    • MyGUI - 快速,灵活,简单的GUI. [MIT]
    • OtterUI - 嵌入式系统和互动娱乐软件的用户界面开发解决方案. [MIT]
    • CEGUI - 很灵活的跨平台GUI库.
    • gtkmm - 用于受欢迎的GUI库GTK+的官方C++接口. [LGPL]
    • imgui - 拥有最小依赖关系的立即模式图形用户界面. [MIT]
    • libRocket - C++ HTML/CSS 游戏接口中间件. [MIT]
    • MyGUI - 快速,灵活,简单的GUI. [MIT]
    • Ncurses - 终端用户界面. [MIT]
    • Qwt - 用户与技术应用的Qt 控件. [Own based on LGPL]
    • QwtPlot3D - 功能丰富的基于Qt/OpenGL的C++编程库,本质上提供了一群3D控件. [zlib]
    • gtkmm - 用于受欢迎的GUI库GTK+的官方C++接口. [LGPL]
    • PDCurses - 包含源代码和预编译库的公共图形函数库. [PublicDomain]
    • FLTK - 快速,轻量级的跨平台的C++GUI工具包. [GPLv2]
    • GTK+ - 用于创建图形用户界面的跨平台工具包. [LGPL]
    • QCustomPlot - 没有更多依赖关系的Qt绘图控件. [GPLv3]
    • wxWidgets - C++库,允许开发人员使用一个代码库可以为widows, Mac OS X,Linux和其他平台创建应用程序. [Own LGPL]
  • JSON

    • frozen - C/C++的JSON解析生成器. [GPL & GPLv2]
    • Jansson - 进行编解码和处理JSON数据的C语言库. [MIT]
    • jbson - C++14中构建和迭代BSON data,和JSON 文档的库. [Boost]
    • JeayeSON - 非常健全的C++ JSON库,只包含头文件. [BSD]
    • JSON++ - C++ JSON 解析器. [MIT]
    • json11 - 一个迷你的C++11 JSON库. [MIT]
    • jute - 非常简单的C++ JSON解析器. [PublicDomain]
    • libjson - C语言中的JSON解析和打印库,很容易和任何模型集成. [LGPL]
    • PicoJSON - C++中JSON解析序列化,只包含头文件. [BSD]
    • QJson - 将JSON数据映射到QVariant对象的基于Qt的库. [LGPLv2]
    • RapidJSON - 用于C++的快速JSON 解析生成器,包含SAX和DOM两种风格的API. [MIT]
    • YAJL - C语言中快速流JSON解析库. [ISC]
    • libjson - 轻量级的JSON库. [?]
    • json-parser - 用可移植的ANSI C编写的JSON解析器,占用内存非常少. [BSD]
    • qt-json - 用于JSON数据和 QVariant层次间的相互解析的简单类. [GPLv3]
  • Web应用框架

    • Kore - 使用C语言开发的用于web应用程序的超快速和灵活的web服务器/框架. [ISC]
    • Crow - 一个C++微型web框架(灵感来自于Python Flask). [BSD]
    • QDjango - 使用C++编写的,基于Qt库的web框架,试图效仿Django API,因此得此名. [LGPL]
  • XML

    • Expat - 用C语言编写的xml解析库. [MIT]
    • Expat - 用C语言编写的xml解析库. [MIT]
    • TinyXML2 - 简单快速的C++CML解析器,可以很容易集成到其它项目中. [zlib]
    • TinyXML++ - TinyXML的一个全新的接口,使用了C++的许多许多优势,模板,异常和更好的异常处理. [MIT]
    • libxml++ - C++的xml解析器. [LGPLv2]
    • RapidXml - 试图创建最快速的XML解析器,同时保持易用性,可移植性和合理的W3C兼容性. [Boost]
    • Libxml2 - Gnome的xml C解析器和工具包. [MIT]
  • 人工智能

    • Neu - C++11框架,编程语言集,用于创建人工智能应用程序的多用途软件系统. [BSD]
    • btsk - 游戏行为树启动器工具. [zlib]
    • Evolving Objects - 基于模板的,ANSI C++演化计算库,能够帮助你非常快速地编写出自己的随机优化算法. [LGPL]
  • 代码风格

  • 其它Awesome项目

  • 博客

  • 压缩

    • bzip2 - 一个完全免费,免费专利和高质量的数据压缩. [BSD]
    • doboz - 能够快速解压缩的压缩库. [zlib]
    • PhysicsFS - 对各种归档提供抽象访问的库,主要用于视频游戏,设计灵感部分来自于Quake3的文件子系统. [zlib]
    • ZLib - 非常紧凑的数据流压缩库. [zlib]
    • LZMAT - 及其快速的实时无损数据压缩库. [GPL]
    • bzip2 - 一个完全免费,免费专利和高质量的数据压缩. [BSD]
    • ZZIPlib - 提供ZIP归档的读权限. [MPL/LGPL]
    • LZHAM - 无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多. [BSD]
    • miniz - 单一的C源文件,紧缩/膨胀压缩库,使用zlib兼容API,ZIP归档读写,PNG写方式. [Unlicense]
    • LZ4 - 非常快速的压缩算法. [BSD]
    • LZMA - 7z格式默认和通用的压缩方法. [LGPL]
    • Minizip - Zlib最新bug修复,支持PKWARE磁盘跨越,AES加密和IO缓冲. [zlib]
    • Snappy - 快速压缩和解压缩. [BSD]
    • KArchive - 用于创建,读写和操作文件档案(例如zip和 tar)的库,它通过QIODevice的一系列子类,使用gzip格式,提供了透明的压缩和解压缩的数据. [LGPL]
    • LZMAT - 及其快速的实时无损数据压缩库. [GPL]
  • 国际化

    • gettext - GNU `gettext'. [GPLv2]
    • libiconv - 用于不同字符编码之间的编码转换库. [GPL]
    • gettext - GNU `gettext'. [GPLv2]
    • IBM ICU - 提供Unicode 和全球化支持的C、C++ 和Java库. [ICU]
  • 图书

  • 图像处理

    • CImg - 用于图像处理的小型开源C++工具包. [Own LGPL or GPL]
    • CxImage - 用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K. [zlib]
    • MagickWnd - ImageMagick程序的C接口. [Apache 2.0]
    • CxImage - 用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K. [zlib]
    • OpenCV - 开源计算机视觉类库. [BSD]
    • VIGRA - 用于图像分析通用C++计算机视觉库. [MIT X11]
    • tesseract-ocr - OCR引擎. [Apache 2.0]
    • FreeImage - 开源库,支持现在多媒体应用所需的通用图片格式和其他格式. [GPLv2 or GPLv3]
    • GDCM - Grassroots DICOM 库.
    • Boost.GIL - 通用图像库.
    • ITK - 跨平台的开源图像分析系统. [Apache 2.0 from ITK 4.0]
    • VTK - 用于3D计算机图形学,图像处理和可视化的开源免费软件系统. [BSD]
  • 图形

    • bgfx - 跨平台的渲染库. [BSD]
    • Horde3D - 一个小型的3D渲染和动画引擎. [EPL]
    • magnum - C++11和OpenGL 2D/3D 图形引擎. [MIT] [website](http://mosra.cz/blog/magnum.php)
    • Skia - 用于绘制文字,图形和图像的完整的2D图形库. [bSD] [webpage](https://sites.google.com/site/skiadocs/home)
    • urho3d - 跨平台的渲染和游戏引擎. [Many different, mostly MIT]
    • Cairo - 支持多种输出设备的2D图形库. [LGPLv2 or Mozilla MPL]
    • OpenSceneGraph - 具有高性能的开源3D图形工具包. [OSGPL]
    • Ogre 3D - 用C++编写的一个面向场景,实时,灵活的3D渲染引擎(并非游戏引擎). [MIT]
    • Panda3D - 用于3D渲染和游戏开发的框架,用Python和C++编写. [BSD]
  • 在线编译器

    • codepad - 在线编译器/解释器,一个简单的协作工具.
    • coliru - 在线编译器/shell, 支持各种C++编译器.
    • CompileOnline - Linux上在线编译和执行C++程序.
    • coliru - 在线编译器/shell, 支持各种C++编译器.
    • Compiler Explorer - 交互式编译器,可以进行汇编输出.
  • 多媒体

    • LIVE555 Streaming Media - 使用开放标准协议(RTP/RTCP, RTSP, SIP) 的多媒体流库 (RTP/RTCP, RTSP, SIP). [LGPL]
    • libVLC - libVLC (VLC SDK)媒体框架. [GPL]
    • LIVE555 Streaming Media - 使用开放标准协议(RTP/RTCP, RTSP, SIP) 的多媒体流库 (RTP/RTCP, RTSP, SIP). [LGPL]
    • QtAv - 基于Qt和FFmpeg的多媒体播放框架,能够帮助你轻而易举地编写出一个播放器. [LGPL] [website](http://wang-bin.github.io/QtAV/)
    • GStreamer - 构建媒体处理组件图形的库. [LGPL]
    • SFML - 快速,简单的多媒体库. [zlib]
  • 多项混杂

    • libusb - 允许移动访问USB设备的通用USB库. [LGPLv2]
    • SLDR - 超轻的DNS解析器. [GPLv2/Commercial]
    • casacore - 从aips++ 派生的一系列C++核心库. [LGPL]
    • googlemock - 编写和使用C++模拟类的库. [BSD]
    • casacore - 从aips++ 派生的一系列C++核心库. [LGPL]
    • cxx-prettyprint - 用于C++容器的打印库. [Boost]
    • gcc-poison - 帮助开发人员禁止应用程序中的不安全的C/C++函数的简单的头文件.
    • libcpuid - 用于x86 CPU检测盒特征提取的小型C库. [BSD]
    • libevil - 许可证管理器. [GPLv3]
    • Serial Communication Library - C++语言编写的跨平台,串口库. [MIT]
    • SDS - C的简单动态字符串库. [BSD]
    • SLRE - 超轻的正则表达式库. [GPLv2/Commercial]
    • Stage - 移动机器人模拟器. [GPLv2]
    • CppVerbalExpressions - 易于使用的C++正则表达式. [MIT]
    • QtVerbalExpressions - 基于C++ VerbalExpressions 库的Qt库. [MIT]
    • PHP-CPP - 使用C++来构建PHP扩展的库. [Apache2] [website](http://www.php-cpp.com/)
    • Remote Call Framework - C++的进程间通信框架. [GPLv2/Commercial]
    • googlemock - 编写和使用C++模拟类的库. [BSD]
    • Better String - C的另一个字符串库,功能更丰富,但是没有缓冲溢出问题,还包含了一个C++包装器. [BSD, GPLv2]
    • VarTypes - C++/Qt4功能丰富,面向对象的管理变量的框架. [LGPL]
  • 容器

    • Hashmaps - C++中开放寻址哈希表算法的实现. [MIT]
    • C++ B-tree - 基于B树数据结构,实现命令内存容器的模板库. [Apache2]
  • 密码学

    • GnuPG - OpenPGP标准的完整实现. [GPL]
    • Libgcrypt
    • LibreSSL - 免费的SSL/TLS协议,属于2014 OpenSSL的一个分支. [?]
    • Nettle - 底层的加密库. [LGPL]
    • Crypto++ - 一个有关加密方案的免费的C++库. [Boost]
    • Bcrypt - 一个跨平台的文件加密工具,加密文件可以移植到所有可支持的操作系统和处理器中.
    • Libgcrypt
    • libsodium - 基于NaCI的加密库,固执己见,容易使用. [ISC]
    • LibTomCrypt - 一个非常全面的,模块化的,可移植的加密工具. [WTFPL]
    • Nettle - 底层的加密库. [LGPL]
    • Tiny AES128 in C - 用C实现的一个小巧,可移植的实现了AES128ESB的加密算法. [PublicDomain]
    • Botan - C++加密库. [BSD-2]
    • GnuTLS - 实现了SSL,TLS和DTLS协议的安全通信库. [LGPLv2.1]
  • 并发性

    • OpenCL - 并行编程的异构系统的开放标准.
    • Bolt - 针对GPU进行优化的C++模板库. [Apache2]
    • C++React - 用于C++11的反应性编程库. [Boost]
    • Intel TBB - Intel线程构件块. [GPLv2 with runtime exception]
    • Libclsph - 基于OpenCL的GPU加速SPH流体仿真库. [MIT]
    • VexCL - 用于OpenCL/CUDA 的C++向量表达式模板库. [MIT]
    • Boost.Compute - 用于OpenCL的C++GPU计算库. [Boost]
  • 序列化

    • Thrift - 高效的跨语言IPC/RPC,用于C++,Java,Python,PHP,C#和其它多种语言中,最初由Twitter开发. [Apache2]
    • Cap'n Proto - 快速数据交换格式和RPC系统. [MIT]
    • cereal - C++11 序列化库. [BSD]
    • FlatBuffers - 内存高效的序列化库. [Apache2]
    • MessagePack - C/C++的高效二进制序列化库,例如 JSON. [Apache2] [website](http://msgpack.org/)
    • protobuf - 协议缓冲,谷歌的数据交换格式. [BSD]
    • protobuf-c - C语言的协议缓冲实现. [BSD]
    • SimpleBinaryEncoding - 用于低延迟应用程序的对二进制格式的应用程序信息的编码和解码. [Apache2]
  • 异步事件循环

    • libuv - 跨平台异步I/O. [BSD]
    • libev - 功能齐全,高性能的时间循环,轻微地仿效libevent,但是不再像libevent一样有局限性,也修复了它的一些bugs. [BSD and GPL]
    • libevent - 事件通知库. [BSD]
  • 数学

    • ceres-solver - 来自谷歌的C++库,用于建模和解决大型复杂非线性最小平方问题. [BSD]
    • cml - 用于游戏和图形的免费C++数学库. [Boost]
    • GMP - 用于个高精度计算的C/C++库,处理有符号整数,有理数和浮点数. [LGPLv3 and GPLv2]
    • Armadillo - 高质量的C++线性代数库,速度和易用性做到了很好的平衡。语法和MatlAB很相似. [MPL2]
    • ceres-solver - 来自谷歌的C++库,用于建模和解决大型复杂非线性最小平方问题. [BSD]
    • blaze - 高性能的C++数学库,用于密集和稀疏算法. [BSD]
    • GMTL - 数学图形模板库是一组广泛实现基本图形的工具. [GPLv2]
    • Eigen - 高级C++模板头文件库,包括线性代数,矩阵,向量操作,数值解决和其他相关的算法. [MPL2]
    • cml - 用于游戏和图形的免费C++数学库. [Boost]
  • 数据库

    • LMDB - 符合数据库四大基本元素的嵌入键值存储. [OpenLDAP]
    • hiberlite - 用于Sqlite3的C++对象关系映射. [BSD]
    • Hiredis - 用于Redis数据库的很简单的C客户端库. [BSD]
    • LevelDB - 快速键值存储库. [BSD]
    • RocksDB - 来自Facebook的嵌入键值的快速存储. [BSD]
    • MySQL++ - 封装了MySql的C API的C++ 包装器. [LGPL]
  • 文章