awesome-cpp
A collaborative list of awesome cpp resources. Feel free to contribute!
https://github.com/alwayrun/awesome-cpp
Last synced: 3 days ago
JSON representation
-
音频
- Speex - 免费编解码器,为Opus所废弃. [BSD]
- Maximilian - C++音频和音乐数字信号处理库. [MIT]
- Tonic - C++易用和高效的音频合成. [Unlicense]
-
XML
-
多项混杂
- googlemock - 编写和使用C++模拟类的库. [BSD]
- casacore - 从aips++ 派生的一系列C++核心库. [LGPL]
- Remote Call Framework - C++的进程间通信框架. [GPLv2/Commercial]
- libusb - 允许移动访问USB设备的通用USB库. [LGPLv2]
- SLDR - 超轻的DNS解析器. [GPLv2/Commercial]
- googlemock - 编写和使用C++模拟类的库. [BSD]
- C++ Format - 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]
- VarTypes - C++/Qt4功能丰富,面向对象的管理变量的框架. [LGPL]
- CppVerbalExpressions - 易于使用的C++正则表达式. [MIT]
- QtVerbalExpressions - 基于C++ VerbalExpressions 库的Qt库. [MIT]
- PHP-CPP - 使用C++来构建PHP扩展的库. [Apache2] [website](http://www.php-cpp.com/)
-
GUI
- Ncurses - 终端用户界面. [MIT]
- libRocket - C++ HTML/CSS 游戏接口中间件. [MIT]
- MyGUI - 快速,灵活,简单的GUI. [MIT]
- OtterUI - 嵌入式系统和互动娱乐软件的用户界面开发解决方案. [MIT]
- CEGUI - 很灵活的跨平台GUI库.
- CEGUI - 很灵活的跨平台GUI库.
- gtkmm - 用于受欢迎的GUI库GTK+的官方C++接口. [LGPL]
- imgui - 拥有最小依赖关系的立即模式图形用户界面. [MIT]
- libRocket - C++ HTML/CSS 游戏接口中间件. [MIT]
- MyGUI - 快速,灵活,简单的GUI. [MIT]
-
JSON
- libjson - 轻量级的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]
-
机器学习
- sofia-ml - 用于机器学习的快速增量算法套件. [Apache2]
- Caffe - 快速的神经网络框架. [BSD]
- CCV - 以C语言为核心的现代计算机视觉库. [BSD]
- Recommender - 使用协同过滤进行产品推荐/建议的C语言库. [BSD]
- SHOGUN - Shogun 机器学习工具. [GPLv3]
-
数学
- blaze - 高性能的C++数学库,用于密集和稀疏算法. [BSD]
- ceres-solver - 来自谷歌的C++库,用于建模和解决大型复杂非线性最小平方问题. [BSD]
- cml - 用于游戏和图形的免费C++数学库. [Boost]
- GMP - 用于个高精度计算的C/C++库,处理有符号整数,有理数和浮点数. [LGPLv3 and GPLv2]
- Armadillo - 高质量的C++线性代数库,速度和易用性做到了很好的平衡。语法和MatlAB很相似. [MPL2]
- ceres-solver - 来自谷歌的C++库,用于建模和解决大型复杂非线性最小平方问题. [BSD]
-
构建系统
-
站点
- C++ reference - C++98, C++03, C++11, C++14引用.
- Meeting C++
- C++ reference - C++98, C++03, C++11, C++14引用.
-
框架
- Qt - 跨平台的应用程序和用户界面框架. [LGPL]
- Reason - 跨平台的框架,使开发者能够更容易地使用Java,.Net和Python,同时也满足了他们对C++性能和优势的需求. [GPLv2]
- Dlib - 使用契约式编程和现代C++科技设计的通用的跨平台的C++库. [Boost]
- STLport - 是STL具有代表性的版本. [Free]
- MiLi - 只含头文件的小型C++库. [Boost]
- Cxxomfort - 轻量级的,只包含头文件的库,将C++ 11的一些新特性移植到C++03中. [MIT]
- Ultimate++ - C++跨平台快速应用程序开发框架. [BSD]
- ASL - Adobe源代码库提供了同行的评审和可移植的C++源代码库. [MIT]
- Boost - 大量通用C++库的集合. [Boost] [website](http://www.boost.org/)
- ASL - Adobe源代码库提供了同行的评审和可移植的C++源代码库. [MIT]
- BDE - 来自于BDE讯实验室的开发环境. [MIT]
- EASTL - EA-STL公共部分. [BSD]
- ffead-cpp - 企业应用程序开发框架. [Apache2]
- Folly - 由Facebook开发和使用的开源C++库. [Apache2]
- JUCE - 包罗万象的C++类库,用于开发跨平台软件. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/)
- libPhenom - 用于构建高性能和高度可扩展性系统的事件框架. [Apache2]
- LibSourcey - 用于实时的视频流和高性能网络应用程序的C++11事件IO. [LGPL]
- LibU - C语言写的多平台工具库. [BSD]
- STLport - 是STL具有代表性的版本. [Free]
- Yomm11 - C++11的开放multi-methods. [Boost]
-
压缩
- LZHAM - 无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多. [BSD]
- bzip2 - 一个完全免费,免费专利和高质量的数据压缩. [BSD]
- ZLib - 非常紧凑的数据流压缩库. [zlib]
- doboz - 能够快速解压缩的压缩库. [zlib]
- PhysicsFS - 对各种归档提供抽象访问的库,主要用于视频游戏,设计灵感部分来自于Quake3的文件子系统. [zlib]
- LZMAT - 及其快速的实时无损数据压缩库. [GPL]
- bzip2 - 一个完全免费,免费专利和高质量的数据压缩. [BSD]
- ZZIPlib - 提供ZIP归档的读权限. [MPL/LGPL]
- miniz - 单一的C源文件,紧缩/膨胀压缩库,使用zlib兼容API,ZIP归档读写,PNG写方式. [Unlicense]
-
调试
- CppUnit - 由JUnit移植过来的C++测试框架. [LGPLv2]
- MemTrack - 用于C++跟踪内存分配.
- UnitTest++ - 轻量级的C++单元测试框架. [MIT/X Consortium license]
- googletest - 谷歌C++测试框架. [BSD]
- microprofile - 跨平台的网络试图分析器. [PublicDomain]
- Catch - 一个很时尚的,C++原生的框架,只包含头文件,用于单元测试,测试驱动开发和行为驱动开发. [Boost]
- ig-debugheap - 用于跟踪内存错误的多平台调试堆. [BSD]
- libtap - 用C语言编写测试. [GPLv2]
- MemTrack - 用于C++跟踪内存分配.
- Remotery - 用于web视图的单一C文件分析器. [Apache2]
-
图形
- Cairo - 支持多种输出设备的2D图形库. [LGPLv2 or Mozilla MPL]
- 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]
-
视频
- C++ - by VoidRealms.
- C++ Qt Programming - by VoidRealms.
- C++ Programming Tutorials Playlist - TheNewBoston Official Buckys C++ Programming Tutorials Playlist.
- C++ Programming Tutorials from thenewboston - These are all of thenewboston's C++ programming tutorials.
- C Programming Tutorials - All of TheNewBoston's C programming tutorials are right here.
- Bo Qian's playlist - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ...
- FFmpeg - 一个完整的,跨平台的解决方案,用于记录,转换视频和音频流. [LGPLv2/GPL2]
- libde265 - 开放的h.265视频编解码器的实现. [LGPL] [website](http://www.libde265.org/)
- OpenH264 - 开源H.364 编解码器. [BSD] [website](http://www.openh264.org/)
- Awesome C Programming Tutorials in Hi Def [HD - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers.
- C++ - by VoidRealms.
- C++ Programming Tutorials Playlist - TheNewBoston Official Buckys C++ Programming Tutorials Playlist.
- C++ Programming Tutorials from thenewboston - These are all of thenewboston's C++ programming tutorials.
- C++ GUI with Qt Playlist - Official Playlist for thenewboston C++ GUI with Qt tutorials.
- C Programming Tutorials - All of TheNewBoston's C programming tutorials are right here.
-
静态代码分析
- include-what-you-use - 使用clang进行代码分析的工具,可以#include在C和C++文件中.
- Cppcheck - 静态C/C++代码分析工具. - [source](https://github.com/danmar/cppcheck)
-
API设计
-
图书
- The Definitive C++ Book Guide and List - A collection of quality books and an approximate skill level.
- The C++ Annotations - An in-depth guide on C++, intended for people with a good knowledge of C who want to make the transition to C++.
- Free C++ Books - vhf/free-programming-books/C++.
-
博客
-
人工智能
-
标准库
- ISO C++ Standards Committee - ISO/IEC JTC1/SC22/WG21 - C++标准委员会. [website](http://www.open-std.org/JTC1/SC22/WG21/)
-
密码学
- GnuPG - OpenPGP标准的完整实现. [GPL]
- Libgcrypt
- LibreSSL - 免费的SSL/TLS协议,属于2014 OpenSSL的一个分支. [?]
- Nettle - 底层的加密库. [LGPL]
- Bcrypt - 一个跨平台的文件加密工具,加密文件可以移植到所有可支持的操作系统和处理器中.
- Libgcrypt
- libsodium - 基于NaCI的加密库,固执己见,容易使用. [ISC]
- LibTomCrypt - 一个非常全面的,模块化的,可移植的加密工具. [WTFPL]
- Nettle - 底层的加密库. [LGPL]
- Tiny AES128 in C - 用C实现的一个小巧,可移植的实现了AES128ESB的加密算法. [PublicDomain]
- Crypto++ - 一个有关加密方案的免费的C++库. [Boost]
-
数据库
-
并发性
-
国际化
-
日志
- templog - 轻量级C++库,可以添加日志到你的C++应用程序中. [Boost]
- easyloggingpp - C++日志库,只包含单一的头文件. [MIT] [website](http://easylogging.org/)
- templog - 轻量级C++库,可以添加日志到你的C++应用程序中. [Boost]
-
网络
- POCO - 用于构建网络和基于互联网应用程序的C++类库,可以运行在桌面,服务器,移动和嵌入式系统. [Boost] [website](http://pocoproject.org/)
- ACE - C++面向对象网络变成工具包. [?MIT?]
- Casablanca - C++ REST SDK. [Apache2]
- Dyad.c - C语言的异步网络. [MIT]
- Mongoose - 非常轻量级的网络服务器. [GPLv2]
- Muduo - 用于Linux多线程服务器的C++非阻塞网络库. [BSD]
- Onion - C语言HTTP服务器库,其设计为轻量级,易使用. [Apache2/GPLv2]
- Tufão - 用于Qt之上的C++构建的异步Web框架. [LGPLv2]
- WebSocket++ - 基于C++/Boost Aiso的websocket 客户端/服务器库. [BSD]
-
科学计算
-
在线编译器
- coliru - 在线编译器/shell, 支持各种C++编译器.
- CompileOnline - Linux上在线编译和执行C++程序.
- codepad - 在线编译器/解释器,一个简单的协作工具.
- coliru - 在线编译器/shell, 支持各种C++编译器.
-
Web应用框架
-
代码风格
-
集成开发环境
- IBM VisualAge - 来自IBM的家庭计算机集成开发环境.
- YouCompleteMe - 一个用于Vim的根据你敲的代码快速模糊搜索并进行代码补全的引擎.
- Irony-mode - 由libclang驱动的用于Emacs的C/C++微模式.
- rtags - C/C++的客户端服务器索引,用于 跟基于clang的emacs的集成.
- Xcode - 由苹果公司开发.
-
其它Awesome项目
- papers-we-love - Papers from the computer science community to read and discuss.
- awesome-php - Awesome PHP libraries, resources and shiny things.
- awesome-python - Awesome Python frameworks, libraries and software.
- CONTRIBUTING
- thefreecountry.com - A collection of free programming resources, free webmasters' resources, free security resources and free utilities.
- awesome-awesomeness - A curated list of awesome awesomeness.
- awesome-talks - A lot of screencasts, recordings of user group gatherings and conference talks.
- github-cheat-sheet - A list of cool features of Git and GitHub.
- ToolsOfTheTrade - Tools of The Trade, from Hacker News.
- cheatsheets.org - The largest collection of reference cards for developers.
- cheat-sheets.org - All cheat sheets, round-ups, quick reference cards, quick reference guides and quick reference sheets in one page.
- algorithms - C++算法与数据结构.
- c-algorithms - C算法库.
- C/C++ Awesome Pack - 一些C++代码.
- lists - List of (awesome) lists curated on GitHub.
- awesome - A curated list of awesome lists.
- free-programming-books - List of Freely Available Programming Books.
- awesome-sysadmin - Awesome open source sysadmin resources.
- thefreecountry.com - A collection of free programming resources, free webmasters' resources, free security resources and free utilities.
-
脚本
-
编译器
- GCC - GNU编译器集合.
- Microsoft Visual C++ - MSVC,由微软公司开发.
- Open WatCom - Watcom,C,C++和Fortran交叉编译器和工具. [Sybase Open Watcom Public License]
- Intel C++ Compiler - 由英特尔公司开发.
-
游戏引擎
-
图像处理
- 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]
-
多媒体
- 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/)
-
机器人学
-
序列化
- 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]
-
生态学
- libsequence - 用于表示和分析群体遗传学数据的C++库. [GPL]
- Vcflib - 用于解析和处理VCF文件的C++库. [MIT]
-
容器
- Hashmaps - C++中开放寻址哈希表算法的实现. [MIT]
-
物理学
- Bullet - 3D的游戏物理引擎. [zlib] [website](http://bulletphysics.org)
- Chipmunk - 快速,轻量级的2D游戏物理库. [MIT] [website](https://chipmunk-physics.net/)
- LiquidFun - 2D的游戏物理引擎. [BSD-like]
- Newton Dynamics - 集成的解决方案实时仿真的物理环境. [zlib]
- ofxBox2d - Box2D开源框架包装器D. [BSD-like]
- Simbody - 高性能C++多体动力学/物理库,模拟关节生物力学和机械系统,像车辆,机器人和人体骨骼. [Apache2]
- ODE - 开放动力学引擎-开源,高性能库,模拟刚体动力学. [BSD&LGPL]
- Box2D - 2D的游戏物理引擎. [BSD-like]
-
虚拟机
- CarpVM - C中有趣的VM,让我们一起来看看这个. [GPLv3]
- MicroPython - 旨在实现单片机上Python3.x的实现. [MIT]
- TinyVM - 用纯粹的ANSI C编写的小型,快速,轻量级的虚拟机. [MIT]
-
文章
- CppCon 2014 Speaker Materials - Speaker materials from CppCon 2014.
- C++Now 2014 Presentations - Presentation materials presented at C++Now 2014.
- C++Now 2013 Presentations - Presentation materials presented at C++Now 2013.
- C++Now 2012 Presentations - Presentation materials presented at C++Now 2012.
-
讨论
- Quick game development with C++11/C++14 - CppCon 2014 talk by Vittorio Romeo.
-
调试器
- Valgrind - 内存调试,内存泄露检测,性能分析工具.
Categories
框架
20
多项混杂
20
其它Awesome项目
19
视频
15
JSON
13
密码学
11
调试
10
GUI
10
压缩
9
网络
9
序列化
8
物理学
8
构建系统
7
图形
6
数学
6
图像处理
6
并发性
6
集成开发环境
5
数据库
5
游戏引擎
5
机器学习
5
XML
4
编译器
4
多媒体
4
在线编译器
4
脚本
4
文章
4
国际化
3
日志
3
音频
3
机器人学
3
站点
3
虚拟机
3
图书
3
Web应用框架
3
API设计
2
生态学
2
科学计算
2
人工智能
2
代码风格
2
静态代码分析
2
博客
2
异步事件循环
1
调试器
1
容器
1
标准库
1
讨论
1
Sub Categories
Keywords
c-plus-plus
10
c
9
awesome
6
gamedev
4
cpp
4
cross-platform
4
python
3
awesome-list
3
machine-learning
3
opengl
3
vulkan
3
game-engine
3
game-development
3
webgl
2
3d
2
d3d12
2
cuda
2
list
2
serialization
2
d3d11
2
c-plus-plus-11
2
lists
2
resources
2
cmake
2
cryptography
2
2d
2
3d-graphics
2
embedded
2
json
2
game
2
sdl
2
webserver
2
lua
2
build-system
2
metal
2
clang
2
compilation-database
2
graphics
2
http
2
glfw
2
cpp11
2
engine
2
library
2
robotics
2
ranges
1
unicode
1
vulkan-api
1
android
1
emscripten
1
rendering
1