【C/C++ 】C++库类大全
2016-08-09 14:14
211 查看
标准库
生命是短促的,然而尽管如此,人们还是有时候讲求礼节C++标准库,包含了STL容器,算法和函数等。
C++ Standard Library:是一系列类和函数的凑集,应用核心说话编写,也是C++ISO自身标准的一项目组。
Standard Template Library:标准模板库
C POSIX library : POSIX体系的C标准库规范
ISO C++ Standards Committee :C++标准委员会
人生交契无长幼,论交何必先同调。
框架
C++通用框架和库
Apache C++ Standard Library:是一系列算法,容器,迭代器和其他根蒂根基组件的凑集
ASL :Adobe源代码库供给了同业的评审和可移植的C++源代码库。
Boost :多量通用C++库的凑集。
BDE :来自于彭博资讯实验室的开辟景象。
Cinder:供给专业品德发明性编码的开源开辟社区。
Cxxomfort:轻量级的,只包含头文件的库,将C++ 11的一些新特点移植到C++03中。
Dlib:应用契约式编程和现代C++科技设计的通用的跨平台的C++库。
EASTL :EA-STL公共项目组
ffead-cpp :企业应用法度开辟框架
Folly:由Facebook开辟和应用的开源C++库
JUCE :包含万象的C++类库,用于开辟跨平台软件
libPhenom:用于构建高机能和高度可扩大性体系的事务框架。
LibSourcey :用于及时的视频流和高机能收集应用法度的C++11 evented IO
LibU : C说话写的多平台对象库
Loki :C++库的设计,包含常见的设计模式和习语的实现。
MiLi :只含头文件的小型C++库
openFrameworks :开辟C++对象包,用于创意性编码。
Qt :跨平台的应用法度和用户界面框架
Reason :跨平台的框架,使开辟者可以或许更轻易地应用Java,.Net和Python,同时也满足了他们对C++机能和上风的需求。
ROOT :具备所有功能的一系列面向对象的框架,可以或许很是高效地处理惩罚和解析多量的数据,为欧洲原子能研究机构所用。
STLport:是STL具有代表性的版本
STXXL:用于额外的大型数据集的标准模板库。
Ultimate++ :C++跨平台快速应用法度开辟框架
Windows Template Library:用于开辟Windows应用法度和UI组件的C++库
Yomm11 :C++11的开放multi-methods.
人工智能
btsk :游戏行动树启动器对象
Evolving Objects:基于模板的,ANSI C++演变策画库,可以或许帮助你很是快速地编写出本身的随机优化算法。
Neu:C++11框架,编程说话集,用于创建人工智能应用法度的多用处软件体系。
异步事务轮回
Boost.Asio:用于收集和底层I/O编程的跨平台的C++库。
libev :功能齐备,高机能的时候轮回,稍微地仿效libevent,然则不再像libevent一样有局限性,也修复了它的一些bug。
libevent :事务通知库
libuv :跨平台异步I/O。
音频
音频,声音,音乐,数字化音乐库
FMOD :易于应用的跨平台的音频引擎和音频内容的游戏创尴尬刁难象。
Maximilian :C++音频和音乐数字旌旗灯号处理惩罚库
OpenAL :开源音频库—跨平台的音频API
Opus:一个完全开放的,免版税的,高度通用的音频编
Speex:免费编,为Opus所放弃
Tonic: C++易用和高效的音频合成
Vorbis: Ogg Vorbis是一种完全开放的,非专有的,免版税的通用紧缩音频格局。
生态学
生物信息,基因组学和生物技巧
libsequence:用于默示和解析群体遗传学数据的C++库。
SeqAn:专注于生物数据序列解析的算法和数据布局。
Vcflib :用于解析和处理惩罚VCF文件的C++库
Wham:直接把联想测试应用到BAM文件的基因布局变异。
紧缩
紧缩和归档库
bzip2:一个完全免费,免费专利和高质量的数据紧缩
doboz:可以或许快速解紧缩的紧缩库
PhysicsFS:对各类归档供给抽象接见的库,首要用于视频游戏,设计灵感项目组来自于Quake3的文件子体系。
KArchive:用于创建,读写和操纵文件档案(例如zip和 tar)的库,它经由过程QIODevice的一系列子类,应用gzip格局,供给了透明的紧缩和解紧缩的数据。
LZ4 :很是快速的紧缩算法
LZHAM :无损紧缩数据库,紧缩比率跟LZMA接近,然则解紧缩速度却要快得多。
LZMA :7z格局默认和通用的紧缩办法。
LZMAT :及其快速的及时无损数据紧缩库
miniz:单一的C源文件,紧缩/膨胀紧缩库,应用zlib兼容API,ZIP归档读写,PNG写体式格式。
Minizip:Zlib最新bug修复,支撑PKWARE磁盘跨越,AES加密和IO缓冲。
Snappy :快速紧缩和解紧缩
ZLib :很是紧凑的数据流紧缩库
ZZIPlib:供给ZIP归档的读权限。
并发性
并发履行和多线程
Boost.Compute :用于OpenCL的C++GPU策画库
Bolt :针对GPU进行优化的C++模板库
C++React :用于C++11的反响性编程库
Intel TBB :Intel线程构件块
Libclsph:基于OpenCL的GPU加快SPH流体仿真库
OpenCL :并行编程的异构体系的开放标准
OpenMP:OpenMP API
Thrust :类似于C++标准模板库的并行算法库
HPX :用于任何范围的并行和分布式应用法度的通用C++运行时体系
VexCL :用于OpenCL/CUDA 的C++向量表达式模板库。
容器
C++ B-tree :基于B树数据布局,实现号令内存容器的模板库
Hashmaps: C++中开放寻址哈希表算法的实现
暗码学
Bcrypt :一个跨平台的文件加密对象,加密文件可以移植到所有可支撑的操纵体系和处理惩罚器中。
BeeCrypt:
Botan: C++加密库
Crypto++:一个有关加密规划的免费的C++库
GnuPG: OpenPGP标准的完全实现
GnuTLS :实现了SSL,TLS和DTLS和谈的安然通信库
Libgcrypt
libmcrypt
LibreSSL:免费的SSL/TLS和谈,属于2014 OpenSSL的一个分支
LibTomCrypt:一个很是周全的,模块化的,可移植的加密对象
libsodium:基于NaCI的加密库,固执己见,轻易应用
Nettle 底层的加密库
OpenSSL : 一个强大的,商用的,功能齐备的,开放源代码的加密库。
Tiny AES128 in C :用C实现的一个小巧,可移植的实现了AES128ESB的加密算法
数据库
数据库,SQL办事器,ODBC驱动法度和对象
hiberlite :用于Sqlite3的C++对象关系映射
Hiredis: 用于Redis数据库的很简单的C客户端库
LevelDB: 快速键值存储库
LMDB:合适数据库四大根蒂根基元素的嵌入键值存储
MySQL++:封装了MySql的C API的C++ 包装器
RocksDB:来自Facebook的嵌入键值的快速存储
SQLite:一个完全嵌入式的,功能齐备的关系数据库,只有几百KB,可以正确包含到你的项目中。
调试
调试库,
内存和资料泄漏检测,单位测试
Boost.Test:Boost测试库
Catch:一个很时尚的,C++原生的框架,只包含头文件,用于单位测试,测试驱动开辟和行动驱动开辟。
CppUnit:由JUnit移植过来的C++测试框架
CTest:CMake测试驱动法度
googletest:谷歌C++测试框架
ig-debugheap:用于跟踪内存错误的多平台调试堆
libtap:用C说话编写测试
MemTrack —用于C++跟踪内存分派
microprofile- 跨平台的收集试图解析器
minUnit :应用C写的迷你单位测试框架,只应用了两个宏
Remotery:用于web视图的单一C文件解析器
UnitTest++:轻量级的C++单位测试框架
游戏引擎
Cocos2d-x :一个跨平台框架,用于构建2D游戏,互动图书,演示和其他图形应用法度。
Grit :社区项目,用于构建一个免费的游戏引擎,实现开放的世界3D游戏。
Irrlicht :C++说话编写的开源高机能的及时#D引擎
Polycode:C++实现的用于创建游戏的开源框架(与Lua绑定)。
图形用户界面
CEGUI : 很灵活的跨平台GUI库
FLTK :快速,轻量级的跨平台的C++GUI对象包。
GTK+: 用于创建图形用户界面的跨平台对象包
gtkmm :用于受迎接的GUI库GTK+的官方C++接口。
imgui:拥有最小依附关系的立即模式图形用户界面
libRocket :libRocket 是一个C++ HTML/CSS 游戏接口中心件
MyGUI :快速,灵活,简单的GUI
Ncurses:终端用户界面
QCustomPlot :没有更多依附关系的Qt画图控件
Qwt :用户与技巧应用的Qt 控件
QwtPlot3D :功能雄厚的基于Qt/OpenGL的C++编程库,本质上供给了一群3D控件
OtterUI :OtterUI 是用于嵌入式体系和互动娱乐软件的用户界面开辟解决规划
PDCurses 包含源代码和预编译库的公共图形函数库
wxWidgets C++库,容许开辟人员应用一个代码库可认为widows, Mac OS X,Linux和其他平台创建应用法度
图形
bgfx:跨平台的衬着库
Cairo:支撑多种输出设备的2D图形库
Horde3D 一个小型的3D衬着和动画引擎
magnum C++11和OpenGL 2D/3D 图形引擎
Ogre 3D 用C++编写的一个面向场景,及时,灵活的3D衬着引擎(并非游戏引擎)
OpenSceneGraph 具有高机能的开源3D图形对象包
Panda3D 用于3D衬着和游戏开辟的框架,用Python和C++编写。
Skia 用于绘制文字,图形和图像的完全的2D图形库
urho3d 跨平台的衬着和游戏引擎。
图像处理惩罚
Boost.GIL:通用图像库
CImg :用于图像处理惩罚的小型开源C++对象包
CxImage :用于加载,保存,显示和转换的图像处理惩罚和转换库,可以处理惩罚的格局包含 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。
FreeImage :开源库,支撑如今多媒体应用所需的通用格局和其他格局。
GDCM:Grassroots DICOM 库
ITK:跨平台的开源图像解析体系
Magick++:ImageMagick法度的C++接口
MagickWnd:ImageMagick法度的C++接口
OpenCV : 开源策画机视觉类库
tesseract-ocr:OCR引擎
VIGRA :用于图像解析通用C++策画机视觉库
VTK :用于3D策画机图形学,图像处理惩罚和可视化的开源免费软件体系。
国际化
gettext :GNU `gettext’
IBM ICU:供给Unicode 和全球化支撑的C、C++ 和Java库
libiconv :用于不合字符编码之间的编码转换库
Jason
frozen : C/C++的Jason解析生成器
Jansson :进行编解码和处理惩罚Jason数据的C说话库
jbson :C++14中构建和迭代BSON data,和Json 文档的库
JeayeSON:很是健全的C++ JSON库,只包含头文件
JSON++ : C++ JSON 解析器
json-parser:用可移植的ANSI C编写的JSON解析器,占用内存很是少
json11 :一个迷你的C++11 JSON库
jute :很是简单的C++ JSON解析器
ibjson:C说话中的JSON解析和打印库,很轻易和任何模型集成。
libjson:轻量级的JSON库
PicoJSON:C++中JSON解析序列化,只包含头文件
qt-json :用于JSON数据和 QVariant层次间的彼此解析的简单类
QJson:将JSON数据映射到QVariant对象的基于Qt的库
RapidJSON: 用于C++的快速JSON 解析生成器,包含SAX和DOM两种风格的API
YAJL :C说话中快速流JSON解析库
日记
Boost.Log :设计很是模块化,并且具有扩大性
easyloggingpp:C++日记库,只包含单一的头文件。
Log4cpp :一系列C++类库,灵活添加日记到文件,体系日记,IDSA和其他处所。
templog:轻量级C++库,可以添加日记到你的C++应用法度中
机械进修
Caffe :快速的神经收集框架
CCV :以C说话为核心的现代策画机视觉库
mlpack :可扩大的C++机械进修库
OpenCV:开源策画机视觉库
Recommender:应用协同过滤进行产品推荐/建议的C说话库。
SHOGUN:Shogun 机械进修对象
sofia-ml :用于机械进修的快速增量算法套件
数学
Armadillo :高质量的C++线性代数库,速度和易用性做到了很好的均衡。语法和MatlAB很类似
blaze:高机能的C++数学库,用于密集和稀少算法。
ceres-solver :来自谷歌的C++库,用于建模和解决大型错杂非线性最方题目。
CGal: 高效,靠得住的凑集算法凑集
cml :用于游戏和图形的免费C++数学库
Eigen :高等C++模板头文件库,包含线性代数,矩阵,向量操纵,数值解决和其他相干的算法。
GMTL:数学图形模板库是一组广泛实现根蒂根基图形的对象。
GMP:用于个高精度策画的C/C++库,处理惩罚有符号整数,有理数和浮点数。
多媒体
GStreamer :构建媒体处理惩罚组件图形的库
LIVE555 Streaming Media :应用开放标准和谈(RTP/RTCP, RTSP, SIP) 的多媒体流库
libVLC :libVLC (VLC SDK)媒体框架
QtAv:基于Qt和FFmpeg的多媒体播放框架,可以或许帮助你易如反掌地编写出一个播放器
SDL :简单直控媒体层
SFML :快速,简单的多媒体库
收集
ACE:C++面向对象收集变成对象包
Boost.Asio:用于收集和底层I/O编程的跨平台的C++库
Casablanca:C++ REST SDK
cpp-netlib:高等收集编程的开源库凑集
Dyad.c:C说话的异步收集
libcurl :多和谈文件传输库
Mongoose:很是轻量级的收集办事器
Muduo :用于Linux多线程办事器的C++非梗阻收集库
net_skeleton :C/C++的TCP 客户端/办事器库
nope.c :基于C说话的超轻型软件平台,用于可扩大的办事器端和收集应用。 对于C编程人员,可以推敲node.js
Onion :C说话HTTP办事器库,其设计为轻量级,易应用。
POCO:用于构建收集和基于互联网应用法度的C++类库,可以运行在桌面,办事器,移动和嵌入式体系。
RakNet:为游戏开辟人员供给的跨平台的开源C++收集引擎。
Tuf o :用于Qt之上的C++构建的异步Web框架。
WebSocket++ :基于C++/Boost Aiso的websocket 客户端/办事器库
ZeroMQ :高速,模块化的异步通信库
物理学
动力学仿真引擎
Box2D:2D的游戏物理引擎。
Bullet :3D的游戏物理引擎。
Chipmunk :快速,轻量级的2D游戏物理库
LiquidFun:2D的游戏物理引擎
ODE :开放动力学引擎-开源,高机能库,模仿刚体动力学。
ofxBox2d:Box2D开源框架包装器。
Simbody :高机能C++多体动力学/物理库,模仿关节生物力学和机械体系,像车辆,机械人和人体骨骼。
机械人学
MOOS-IvP :一组开源C++模块,供给机械人平台的自立权,尤其是自立的海洋车辆。
MRPT:移动机器人编程对象包
PCL :点云库是一个自力的,大范围的开放项目,用于2D/3D图像和点云处理惩罚。
Robotics Library (RL): 一个自力的C++库,包含机械人动力学,活动规划和把握。
RobWork:一组C++库的凑集,用于机械人体系的仿真和把握。
ROS :机械人操纵体系,供给了一些库和对象帮助软件开辟人员创建机械人应用法度。
科学策画
FFTW :用一维或者策画DFT的C说话库。
GSL:GNU科学库。
脚本
ChaiScript :用于C++的易于应用的嵌入式脚本说话。
Lua :用于设备文件和根蒂根基应用法度脚本的小型快速脚本引擎。
luacxx:用于创建Lua绑定的C++ 11 API
SWIG :一个可以让你的C++代码链接到JavaScript,Perl,PHP,Python,Tcl和Ruby的包装器/接口生成器
V7:嵌入式的JavaScript 引擎。
V8 :谷歌的快速JavaScript引擎,可以被嵌入到任何C++应用法度中。
序列化
Cap’n Proto :快速数据互换格局和RPC体系。
cereal :C++11 序列化库
FlatBuffers :内存高效的序列化库
MessagePack :C/C++的高效二进制序列化库,例如 JSON
protobuf :和谈缓冲,谷歌的数据互换格局。
protobuf-c :C说话的和谈缓冲实现
SimpleBinaryEncoding:用于低延迟应用法度的对二进制格局的应用法度信息的编码和解码。
Thrift :高效的跨说话IPC/RPC,用于C++,Java,Python,PHP,C#和其它多种说话中,最初由Twitter开辟。
视频
libvpx :VP8/VP9编码解码SDK
FFmpeg :一个完全的,跨平台的解决规划,用于记录,转换视频和音频流。
libde265 :开放的h.265视频编的实现。
OpenH264:开源H.364 编。
Theora :免费开源的视频紧缩格局。
虚拟机
CarpVM:C中有趣的VM,让我们一路来看看这个。
MicroPython :旨在实现单片机上Python3.x的实现
TinyVM:用纯粹的ANSI C编写的小型,快速,轻量级的虚拟机。
Web应用框架
Civetweb :供给易于应用,强大的,C/C++嵌入式Web办事器,带有可选的CGI,SSL和Lua支撑。
CppCMS :免费高机能的Web开辟框架(不是 CMS).
Crow :一个C++微型web框架(灵感来自于Python Flask)
Kore :应用C说话开辟的用于web应用法度的超快速和灵活的web办事器/框架。
libOnion:轻量级的库,帮助你应用C编程说话创建web办事器。
QDjango:应用C++编写的,基于Qt库的web框架,试图效仿Django API,是以得此名。
Wt :开辟Web应用的C++库。
XML
XML就是个垃圾,xml的解析很烦人,对于策画机它也是个灾害。这种糟糕的器材完全没有存在的来由了。-Linus
Torvalds
Expat :用C说话编写的xml解析库
Libxml2 :Gnome的xml C解析器和对象包
libxml++ :C++的xml解析器
PugiXML :用于C++的,支撑XPath的轻量级,简单快速的XML解析器。
RapidXml :试图创建最快速的XML解析器,同时对峙易用性,可移植性和公道的W3C兼容性。
TinyXML :简单小型的C++XML解析器,可以很轻易地集成到其它项目中。
TinyXML2:简单快速的C++CML解析器,可以很轻易集成到其它项目中。
TinyXML++:TinyXML的一个全新的接口,应用了C++的很多很多上风,模板,异常和更好的异常处理惩罚。
Xerces-C++ :用可移植的C++的子集编写的XML验证解析器。
多项混淆
一些有效的库或者对象,然则不合适上方的分类,或者还没有分类。
C++ Format :C++的小型,安然和快速格局化库
casacore :从aips++ 派生的一系列C++核心库
cxx-prettyprint:用于C++容器的打印库
DynaPDF :易于应用的PDF生成库
gcc-poison :帮助开辟人员禁止应用法度中的不安然的C/C++函数的简单的头文件。
googlemock:编写和应用C++模仿类的库
HTTP Parser :C的http恳求/响应解析器
libcpuid :用于x86 CPU检测盒特点提取的小型C库
libevil :容许证经管器
libusb:容许移动接见USB设备的通用USB库
PCRE:正则表达式C库,灵感来自于Perl中正则表达式的功能。
Remote Call Framework :C++的过程间通信框架。
Scintilla :开源的代码编辑控件
Serial Communication Library :C++说话编写的跨平台,串口库。
SDS:C的简单动态字符串库
SLDR :超轻的DNS解析器
SLRE: 超轻的正则表达式库
Stage :移动机器人模仿器
VarTypes:C++/Qt4功能雄厚,面向对象的经管变量的框架。
ZBar:‘条形码扫描器’库,可以扫描照片,和视频流中的条形码,并返回成果。
CppVerbalExpressions :易于应用的C++正则表达式
QtVerbalExpressions:基于C++ VerbalExpressions 库的Qt库
PHP-CPP:应用C++来构建PHP扩大的库
Better String :C的另一个字符串库,功能更雄厚,然则没有缓冲溢出题目,还包含了一个C++包装器。
软件
用于创建开辟景象的软件
编译器
C/C++编译器列表
Clang :由苹果公司开辟的
GCC:GNU编译器凑集
Intel C++ Compiler :由英特尔公司开辟
LLVM :模块化和可重用编译器和对象链技巧的凑集
Microsoft Visual C++ :MSVC,由微软公司开辟
Open WatCom :Watcom,C,C++和Fortran交叉编译器和对象
TCC :轻量级的C说话编译器
在线编译器
在线C/C++编译器列表
codepad :在线编译器/申明器,一个简单的协尴尬刁难象
CodeTwist:一个简单的在线编译器/申明器,你可以粘贴的C,C++或者Java代码,在线履行并查算作果
coliru :在线编译器/shell, 支撑各类C++编译器
Compiler Explorer:交互式编译器,可以进行汇编输出
CompileOnline:Linux上在线编译和履行C++法度
Ideone :一个在线编译器和调试对象,容许你在线编译源代码并履行,支撑60多种编程说话。
调试器
C/C++调试器列表
Comparison of debuggers :来自维基百科的调试器列表
GDB :GNU调试器
Valgrind:内存调试,内存泄漏检测,机能解析对象。
集成开辟景象(IDE)
C/C++集成开辟景象列表
AppCode :构建与JetBrains’ IntelliJ IDEA 平台上的用于Objective-C,C,C++,Java和Java开辟的集成开辟景象
CLion:来自JetBrains的跨平台的C/C++的集成开辟景象
Code::Blocks :免费C,C++和Fortran的集成开辟景象
CodeLite :另一个跨平台的免费的C/C++集成开辟景象
Dev-C++:可移植的C/C++/C++11集成开辟景象
Eclipse CDT:基于Eclipse平台的功能齐备的C和C++集成开辟景象
Geany :轻量级的快速,跨平台的集成开辟景象。
IBM VisualAge :来自IBM的家庭策画机集成开辟景象。
Irony-mode:由libclang驱动的用于Emacs的C/C++微模式
KDevelop:免费开源集成开辟景象
Microsoft Visual Studio :来自微软的集成开辟景象
NetBeans :首要用于Java开辟的的集成开辟景象,也支撑其他说话,尤其是PHP,C/C++和HTML5。
Qt Creator:跨平台的C++,Javascript和QML集成开辟景象,也是Qt SDK的一项目组。
rtags:C/C++的客户端办事器索引,用于 跟基于clang的emacs的集成
Xcode :由苹果公司开辟
YouCompleteMe:一个用于Vim的按照你敲的代码快速模糊搜刮并进行代码补全的引擎。
构建体系
Bear :用于为clang对象生成编译数据库的对象
Biicode:基于文件的简单依附经管器。
CMake :跨平台的免费开源软件用于经管软件应用自力编译的办法进行构建的过程。
CPM:基于CMake和Git的C++担保理器
FASTBuild:高机能,开源的构建体系,支撑高度可扩大性的编译,缓冲和收集分布。
Ninja :专注于速度的小型构建体系
Scons :应用Python scipt 设备的软件构建对象
tundra :高机能的代码构建体系,甚至对于很是大型的软件项目,也能供给最好的增量构建次数。
tup:基于文件的构建体系,用于后台监控变更的文件。
静态代码解析
进步质量,削减瑕疵的代码解析对象列表爱献生
Cppcheck :静态C/C++代码解析对象
include-what-you-use :应用clang进行代码解析的对象,可以#include在C和C++文件中。
OCLint :用于C,C++和Objective-C的静态源代码解析对象,用于进步质量,削减瑕疵。
Clang Static Analyzer:查找C,C++和Objective-C法度bug的源代码解析对象
List of tools for static code analysis :来自维基百科的静态代码解析对象列表
生命是短促的,然而尽管如此,人们还是有时候讲求礼节C++标准库,包含了STL容器,算法和函数等。
C++ Standard Library:是一系列类和函数的凑集,应用核心说话编写,也是C++ISO自身标准的一项目组。
Standard Template Library:标准模板库
C POSIX library : POSIX体系的C标准库规范
ISO C++ Standards Committee :C++标准委员会
人生交契无长幼,论交何必先同调。
框架
C++通用框架和库
Apache C++ Standard Library:是一系列算法,容器,迭代器和其他根蒂根基组件的凑集
ASL :Adobe源代码库供给了同业的评审和可移植的C++源代码库。
Boost :多量通用C++库的凑集。
BDE :来自于彭博资讯实验室的开辟景象。
Cinder:供给专业品德发明性编码的开源开辟社区。
Cxxomfort:轻量级的,只包含头文件的库,将C++ 11的一些新特点移植到C++03中。
Dlib:应用契约式编程和现代C++科技设计的通用的跨平台的C++库。
EASTL :EA-STL公共项目组
ffead-cpp :企业应用法度开辟框架
Folly:由Facebook开辟和应用的开源C++库
JUCE :包含万象的C++类库,用于开辟跨平台软件
libPhenom:用于构建高机能和高度可扩大性体系的事务框架。
LibSourcey :用于及时的视频流和高机能收集应用法度的C++11 evented IO
LibU : C说话写的多平台对象库
Loki :C++库的设计,包含常见的设计模式和习语的实现。
MiLi :只含头文件的小型C++库
openFrameworks :开辟C++对象包,用于创意性编码。
Qt :跨平台的应用法度和用户界面框架
Reason :跨平台的框架,使开辟者可以或许更轻易地应用Java,.Net和Python,同时也满足了他们对C++机能和上风的需求。
ROOT :具备所有功能的一系列面向对象的框架,可以或许很是高效地处理惩罚和解析多量的数据,为欧洲原子能研究机构所用。
STLport:是STL具有代表性的版本
STXXL:用于额外的大型数据集的标准模板库。
Ultimate++ :C++跨平台快速应用法度开辟框架
Windows Template Library:用于开辟Windows应用法度和UI组件的C++库
Yomm11 :C++11的开放multi-methods.
人工智能
btsk :游戏行动树启动器对象
Evolving Objects:基于模板的,ANSI C++演变策画库,可以或许帮助你很是快速地编写出本身的随机优化算法。
Neu:C++11框架,编程说话集,用于创建人工智能应用法度的多用处软件体系。
异步事务轮回
Boost.Asio:用于收集和底层I/O编程的跨平台的C++库。
libev :功能齐备,高机能的时候轮回,稍微地仿效libevent,然则不再像libevent一样有局限性,也修复了它的一些bug。
libevent :事务通知库
libuv :跨平台异步I/O。
音频
音频,声音,音乐,数字化音乐库
FMOD :易于应用的跨平台的音频引擎和音频内容的游戏创尴尬刁难象。
Maximilian :C++音频和音乐数字旌旗灯号处理惩罚库
OpenAL :开源音频库—跨平台的音频API
Opus:一个完全开放的,免版税的,高度通用的音频编
Speex:免费编,为Opus所放弃
Tonic: C++易用和高效的音频合成
Vorbis: Ogg Vorbis是一种完全开放的,非专有的,免版税的通用紧缩音频格局。
生态学
生物信息,基因组学和生物技巧
libsequence:用于默示和解析群体遗传学数据的C++库。
SeqAn:专注于生物数据序列解析的算法和数据布局。
Vcflib :用于解析和处理惩罚VCF文件的C++库
Wham:直接把联想测试应用到BAM文件的基因布局变异。
紧缩
紧缩和归档库
bzip2:一个完全免费,免费专利和高质量的数据紧缩
doboz:可以或许快速解紧缩的紧缩库
PhysicsFS:对各类归档供给抽象接见的库,首要用于视频游戏,设计灵感项目组来自于Quake3的文件子体系。
KArchive:用于创建,读写和操纵文件档案(例如zip和 tar)的库,它经由过程QIODevice的一系列子类,应用gzip格局,供给了透明的紧缩和解紧缩的数据。
LZ4 :很是快速的紧缩算法
LZHAM :无损紧缩数据库,紧缩比率跟LZMA接近,然则解紧缩速度却要快得多。
LZMA :7z格局默认和通用的紧缩办法。
LZMAT :及其快速的及时无损数据紧缩库
miniz:单一的C源文件,紧缩/膨胀紧缩库,应用zlib兼容API,ZIP归档读写,PNG写体式格式。
Minizip:Zlib最新bug修复,支撑PKWARE磁盘跨越,AES加密和IO缓冲。
Snappy :快速紧缩和解紧缩
ZLib :很是紧凑的数据流紧缩库
ZZIPlib:供给ZIP归档的读权限。
并发性
并发履行和多线程
Boost.Compute :用于OpenCL的C++GPU策画库
Bolt :针对GPU进行优化的C++模板库
C++React :用于C++11的反响性编程库
Intel TBB :Intel线程构件块
Libclsph:基于OpenCL的GPU加快SPH流体仿真库
OpenCL :并行编程的异构体系的开放标准
OpenMP:OpenMP API
Thrust :类似于C++标准模板库的并行算法库
HPX :用于任何范围的并行和分布式应用法度的通用C++运行时体系
VexCL :用于OpenCL/CUDA 的C++向量表达式模板库。
容器
C++ B-tree :基于B树数据布局,实现号令内存容器的模板库
Hashmaps: C++中开放寻址哈希表算法的实现
暗码学
Bcrypt :一个跨平台的文件加密对象,加密文件可以移植到所有可支撑的操纵体系和处理惩罚器中。
BeeCrypt:
Botan: C++加密库
Crypto++:一个有关加密规划的免费的C++库
GnuPG: OpenPGP标准的完全实现
GnuTLS :实现了SSL,TLS和DTLS和谈的安然通信库
Libgcrypt
libmcrypt
LibreSSL:免费的SSL/TLS和谈,属于2014 OpenSSL的一个分支
LibTomCrypt:一个很是周全的,模块化的,可移植的加密对象
libsodium:基于NaCI的加密库,固执己见,轻易应用
Nettle 底层的加密库
OpenSSL : 一个强大的,商用的,功能齐备的,开放源代码的加密库。
Tiny AES128 in C :用C实现的一个小巧,可移植的实现了AES128ESB的加密算法
数据库
数据库,SQL办事器,ODBC驱动法度和对象
hiberlite :用于Sqlite3的C++对象关系映射
Hiredis: 用于Redis数据库的很简单的C客户端库
LevelDB: 快速键值存储库
LMDB:合适数据库四大根蒂根基元素的嵌入键值存储
MySQL++:封装了MySql的C API的C++ 包装器
RocksDB:来自Facebook的嵌入键值的快速存储
SQLite:一个完全嵌入式的,功能齐备的关系数据库,只有几百KB,可以正确包含到你的项目中。
调试
调试库,
内存和资料泄漏检测,单位测试
Boost.Test:Boost测试库
Catch:一个很时尚的,C++原生的框架,只包含头文件,用于单位测试,测试驱动开辟和行动驱动开辟。
CppUnit:由JUnit移植过来的C++测试框架
CTest:CMake测试驱动法度
googletest:谷歌C++测试框架
ig-debugheap:用于跟踪内存错误的多平台调试堆
libtap:用C说话编写测试
MemTrack —用于C++跟踪内存分派
microprofile- 跨平台的收集试图解析器
minUnit :应用C写的迷你单位测试框架,只应用了两个宏
Remotery:用于web视图的单一C文件解析器
UnitTest++:轻量级的C++单位测试框架
游戏引擎
Cocos2d-x :一个跨平台框架,用于构建2D游戏,互动图书,演示和其他图形应用法度。
Grit :社区项目,用于构建一个免费的游戏引擎,实现开放的世界3D游戏。
Irrlicht :C++说话编写的开源高机能的及时#D引擎
Polycode:C++实现的用于创建游戏的开源框架(与Lua绑定)。
图形用户界面
CEGUI : 很灵活的跨平台GUI库
FLTK :快速,轻量级的跨平台的C++GUI对象包。
GTK+: 用于创建图形用户界面的跨平台对象包
gtkmm :用于受迎接的GUI库GTK+的官方C++接口。
imgui:拥有最小依附关系的立即模式图形用户界面
libRocket :libRocket 是一个C++ HTML/CSS 游戏接口中心件
MyGUI :快速,灵活,简单的GUI
Ncurses:终端用户界面
QCustomPlot :没有更多依附关系的Qt画图控件
Qwt :用户与技巧应用的Qt 控件
QwtPlot3D :功能雄厚的基于Qt/OpenGL的C++编程库,本质上供给了一群3D控件
OtterUI :OtterUI 是用于嵌入式体系和互动娱乐软件的用户界面开辟解决规划
PDCurses 包含源代码和预编译库的公共图形函数库
wxWidgets C++库,容许开辟人员应用一个代码库可认为widows, Mac OS X,Linux和其他平台创建应用法度
图形
bgfx:跨平台的衬着库
Cairo:支撑多种输出设备的2D图形库
Horde3D 一个小型的3D衬着和动画引擎
magnum C++11和OpenGL 2D/3D 图形引擎
Ogre 3D 用C++编写的一个面向场景,及时,灵活的3D衬着引擎(并非游戏引擎)
OpenSceneGraph 具有高机能的开源3D图形对象包
Panda3D 用于3D衬着和游戏开辟的框架,用Python和C++编写。
Skia 用于绘制文字,图形和图像的完全的2D图形库
urho3d 跨平台的衬着和游戏引擎。
图像处理惩罚
Boost.GIL:通用图像库
CImg :用于图像处理惩罚的小型开源C++对象包
CxImage :用于加载,保存,显示和转换的图像处理惩罚和转换库,可以处理惩罚的格局包含 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。
FreeImage :开源库,支撑如今多媒体应用所需的通用格局和其他格局。
GDCM:Grassroots DICOM 库
ITK:跨平台的开源图像解析体系
Magick++:ImageMagick法度的C++接口
MagickWnd:ImageMagick法度的C++接口
OpenCV : 开源策画机视觉类库
tesseract-ocr:OCR引擎
VIGRA :用于图像解析通用C++策画机视觉库
VTK :用于3D策画机图形学,图像处理惩罚和可视化的开源免费软件体系。
国际化
gettext :GNU `gettext’
IBM ICU:供给Unicode 和全球化支撑的C、C++ 和Java库
libiconv :用于不合字符编码之间的编码转换库
Jason
frozen : C/C++的Jason解析生成器
Jansson :进行编解码和处理惩罚Jason数据的C说话库
jbson :C++14中构建和迭代BSON data,和Json 文档的库
JeayeSON:很是健全的C++ JSON库,只包含头文件
JSON++ : C++ JSON 解析器
json-parser:用可移植的ANSI C编写的JSON解析器,占用内存很是少
json11 :一个迷你的C++11 JSON库
jute :很是简单的C++ JSON解析器
ibjson:C说话中的JSON解析和打印库,很轻易和任何模型集成。
libjson:轻量级的JSON库
PicoJSON:C++中JSON解析序列化,只包含头文件
qt-json :用于JSON数据和 QVariant层次间的彼此解析的简单类
QJson:将JSON数据映射到QVariant对象的基于Qt的库
RapidJSON: 用于C++的快速JSON 解析生成器,包含SAX和DOM两种风格的API
YAJL :C说话中快速流JSON解析库
日记
Boost.Log :设计很是模块化,并且具有扩大性
easyloggingpp:C++日记库,只包含单一的头文件。
Log4cpp :一系列C++类库,灵活添加日记到文件,体系日记,IDSA和其他处所。
templog:轻量级C++库,可以添加日记到你的C++应用法度中
机械进修
Caffe :快速的神经收集框架
CCV :以C说话为核心的现代策画机视觉库
mlpack :可扩大的C++机械进修库
OpenCV:开源策画机视觉库
Recommender:应用协同过滤进行产品推荐/建议的C说话库。
SHOGUN:Shogun 机械进修对象
sofia-ml :用于机械进修的快速增量算法套件
数学
Armadillo :高质量的C++线性代数库,速度和易用性做到了很好的均衡。语法和MatlAB很类似
blaze:高机能的C++数学库,用于密集和稀少算法。
ceres-solver :来自谷歌的C++库,用于建模和解决大型错杂非线性最方题目。
CGal: 高效,靠得住的凑集算法凑集
cml :用于游戏和图形的免费C++数学库
Eigen :高等C++模板头文件库,包含线性代数,矩阵,向量操纵,数值解决和其他相干的算法。
GMTL:数学图形模板库是一组广泛实现根蒂根基图形的对象。
GMP:用于个高精度策画的C/C++库,处理惩罚有符号整数,有理数和浮点数。
多媒体
GStreamer :构建媒体处理惩罚组件图形的库
LIVE555 Streaming Media :应用开放标准和谈(RTP/RTCP, RTSP, SIP) 的多媒体流库
libVLC :libVLC (VLC SDK)媒体框架
QtAv:基于Qt和FFmpeg的多媒体播放框架,可以或许帮助你易如反掌地编写出一个播放器
SDL :简单直控媒体层
SFML :快速,简单的多媒体库
收集
ACE:C++面向对象收集变成对象包
Boost.Asio:用于收集和底层I/O编程的跨平台的C++库
Casablanca:C++ REST SDK
cpp-netlib:高等收集编程的开源库凑集
Dyad.c:C说话的异步收集
libcurl :多和谈文件传输库
Mongoose:很是轻量级的收集办事器
Muduo :用于Linux多线程办事器的C++非梗阻收集库
net_skeleton :C/C++的TCP 客户端/办事器库
nope.c :基于C说话的超轻型软件平台,用于可扩大的办事器端和收集应用。 对于C编程人员,可以推敲node.js
Onion :C说话HTTP办事器库,其设计为轻量级,易应用。
POCO:用于构建收集和基于互联网应用法度的C++类库,可以运行在桌面,办事器,移动和嵌入式体系。
RakNet:为游戏开辟人员供给的跨平台的开源C++收集引擎。
Tuf o :用于Qt之上的C++构建的异步Web框架。
WebSocket++ :基于C++/Boost Aiso的websocket 客户端/办事器库
ZeroMQ :高速,模块化的异步通信库
物理学
动力学仿真引擎
Box2D:2D的游戏物理引擎。
Bullet :3D的游戏物理引擎。
Chipmunk :快速,轻量级的2D游戏物理库
LiquidFun:2D的游戏物理引擎
ODE :开放动力学引擎-开源,高机能库,模仿刚体动力学。
ofxBox2d:Box2D开源框架包装器。
Simbody :高机能C++多体动力学/物理库,模仿关节生物力学和机械体系,像车辆,机械人和人体骨骼。
机械人学
MOOS-IvP :一组开源C++模块,供给机械人平台的自立权,尤其是自立的海洋车辆。
MRPT:移动机器人编程对象包
PCL :点云库是一个自力的,大范围的开放项目,用于2D/3D图像和点云处理惩罚。
Robotics Library (RL): 一个自力的C++库,包含机械人动力学,活动规划和把握。
RobWork:一组C++库的凑集,用于机械人体系的仿真和把握。
ROS :机械人操纵体系,供给了一些库和对象帮助软件开辟人员创建机械人应用法度。
科学策画
FFTW :用一维或者策画DFT的C说话库。
GSL:GNU科学库。
脚本
ChaiScript :用于C++的易于应用的嵌入式脚本说话。
Lua :用于设备文件和根蒂根基应用法度脚本的小型快速脚本引擎。
luacxx:用于创建Lua绑定的C++ 11 API
SWIG :一个可以让你的C++代码链接到JavaScript,Perl,PHP,Python,Tcl和Ruby的包装器/接口生成器
V7:嵌入式的JavaScript 引擎。
V8 :谷歌的快速JavaScript引擎,可以被嵌入到任何C++应用法度中。
序列化
Cap’n Proto :快速数据互换格局和RPC体系。
cereal :C++11 序列化库
FlatBuffers :内存高效的序列化库
MessagePack :C/C++的高效二进制序列化库,例如 JSON
protobuf :和谈缓冲,谷歌的数据互换格局。
protobuf-c :C说话的和谈缓冲实现
SimpleBinaryEncoding:用于低延迟应用法度的对二进制格局的应用法度信息的编码和解码。
Thrift :高效的跨说话IPC/RPC,用于C++,Java,Python,PHP,C#和其它多种说话中,最初由Twitter开辟。
视频
libvpx :VP8/VP9编码解码SDK
FFmpeg :一个完全的,跨平台的解决规划,用于记录,转换视频和音频流。
libde265 :开放的h.265视频编的实现。
OpenH264:开源H.364 编。
Theora :免费开源的视频紧缩格局。
虚拟机
CarpVM:C中有趣的VM,让我们一路来看看这个。
MicroPython :旨在实现单片机上Python3.x的实现
TinyVM:用纯粹的ANSI C编写的小型,快速,轻量级的虚拟机。
Web应用框架
Civetweb :供给易于应用,强大的,C/C++嵌入式Web办事器,带有可选的CGI,SSL和Lua支撑。
CppCMS :免费高机能的Web开辟框架(不是 CMS).
Crow :一个C++微型web框架(灵感来自于Python Flask)
Kore :应用C说话开辟的用于web应用法度的超快速和灵活的web办事器/框架。
libOnion:轻量级的库,帮助你应用C编程说话创建web办事器。
QDjango:应用C++编写的,基于Qt库的web框架,试图效仿Django API,是以得此名。
Wt :开辟Web应用的C++库。
XML
XML就是个垃圾,xml的解析很烦人,对于策画机它也是个灾害。这种糟糕的器材完全没有存在的来由了。-Linus
Torvalds
Expat :用C说话编写的xml解析库
Libxml2 :Gnome的xml C解析器和对象包
libxml++ :C++的xml解析器
PugiXML :用于C++的,支撑XPath的轻量级,简单快速的XML解析器。
RapidXml :试图创建最快速的XML解析器,同时对峙易用性,可移植性和公道的W3C兼容性。
TinyXML :简单小型的C++XML解析器,可以很轻易地集成到其它项目中。
TinyXML2:简单快速的C++CML解析器,可以很轻易集成到其它项目中。
TinyXML++:TinyXML的一个全新的接口,应用了C++的很多很多上风,模板,异常和更好的异常处理惩罚。
Xerces-C++ :用可移植的C++的子集编写的XML验证解析器。
多项混淆
一些有效的库或者对象,然则不合适上方的分类,或者还没有分类。
C++ Format :C++的小型,安然和快速格局化库
casacore :从aips++ 派生的一系列C++核心库
cxx-prettyprint:用于C++容器的打印库
DynaPDF :易于应用的PDF生成库
gcc-poison :帮助开辟人员禁止应用法度中的不安然的C/C++函数的简单的头文件。
googlemock:编写和应用C++模仿类的库
HTTP Parser :C的http恳求/响应解析器
libcpuid :用于x86 CPU检测盒特点提取的小型C库
libevil :容许证经管器
libusb:容许移动接见USB设备的通用USB库
PCRE:正则表达式C库,灵感来自于Perl中正则表达式的功能。
Remote Call Framework :C++的过程间通信框架。
Scintilla :开源的代码编辑控件
Serial Communication Library :C++说话编写的跨平台,串口库。
SDS:C的简单动态字符串库
SLDR :超轻的DNS解析器
SLRE: 超轻的正则表达式库
Stage :移动机器人模仿器
VarTypes:C++/Qt4功能雄厚,面向对象的经管变量的框架。
ZBar:‘条形码扫描器’库,可以扫描照片,和视频流中的条形码,并返回成果。
CppVerbalExpressions :易于应用的C++正则表达式
QtVerbalExpressions:基于C++ VerbalExpressions 库的Qt库
PHP-CPP:应用C++来构建PHP扩大的库
Better String :C的另一个字符串库,功能更雄厚,然则没有缓冲溢出题目,还包含了一个C++包装器。
软件
用于创建开辟景象的软件
编译器
C/C++编译器列表
Clang :由苹果公司开辟的
GCC:GNU编译器凑集
Intel C++ Compiler :由英特尔公司开辟
LLVM :模块化和可重用编译器和对象链技巧的凑集
Microsoft Visual C++ :MSVC,由微软公司开辟
Open WatCom :Watcom,C,C++和Fortran交叉编译器和对象
TCC :轻量级的C说话编译器
在线编译器
在线C/C++编译器列表
codepad :在线编译器/申明器,一个简单的协尴尬刁难象
CodeTwist:一个简单的在线编译器/申明器,你可以粘贴的C,C++或者Java代码,在线履行并查算作果
coliru :在线编译器/shell, 支撑各类C++编译器
Compiler Explorer:交互式编译器,可以进行汇编输出
CompileOnline:Linux上在线编译和履行C++法度
Ideone :一个在线编译器和调试对象,容许你在线编译源代码并履行,支撑60多种编程说话。
调试器
C/C++调试器列表
Comparison of debuggers :来自维基百科的调试器列表
GDB :GNU调试器
Valgrind:内存调试,内存泄漏检测,机能解析对象。
集成开辟景象(IDE)
C/C++集成开辟景象列表
AppCode :构建与JetBrains’ IntelliJ IDEA 平台上的用于Objective-C,C,C++,Java和Java开辟的集成开辟景象
CLion:来自JetBrains的跨平台的C/C++的集成开辟景象
Code::Blocks :免费C,C++和Fortran的集成开辟景象
CodeLite :另一个跨平台的免费的C/C++集成开辟景象
Dev-C++:可移植的C/C++/C++11集成开辟景象
Eclipse CDT:基于Eclipse平台的功能齐备的C和C++集成开辟景象
Geany :轻量级的快速,跨平台的集成开辟景象。
IBM VisualAge :来自IBM的家庭策画机集成开辟景象。
Irony-mode:由libclang驱动的用于Emacs的C/C++微模式
KDevelop:免费开源集成开辟景象
Microsoft Visual Studio :来自微软的集成开辟景象
NetBeans :首要用于Java开辟的的集成开辟景象,也支撑其他说话,尤其是PHP,C/C++和HTML5。
Qt Creator:跨平台的C++,Javascript和QML集成开辟景象,也是Qt SDK的一项目组。
rtags:C/C++的客户端办事器索引,用于 跟基于clang的emacs的集成
Xcode :由苹果公司开辟
YouCompleteMe:一个用于Vim的按照你敲的代码快速模糊搜刮并进行代码补全的引擎。
构建体系
Bear :用于为clang对象生成编译数据库的对象
Biicode:基于文件的简单依附经管器。
CMake :跨平台的免费开源软件用于经管软件应用自力编译的办法进行构建的过程。
CPM:基于CMake和Git的C++担保理器
FASTBuild:高机能,开源的构建体系,支撑高度可扩大性的编译,缓冲和收集分布。
Ninja :专注于速度的小型构建体系
Scons :应用Python scipt 设备的软件构建对象
tundra :高机能的代码构建体系,甚至对于很是大型的软件项目,也能供给最好的增量构建次数。
tup:基于文件的构建体系,用于后台监控变更的文件。
静态代码解析
进步质量,削减瑕疵的代码解析对象列表爱献生
Cppcheck :静态C/C++代码解析对象
include-what-you-use :应用clang进行代码解析的对象,可以#include在C和C++文件中。
OCLint :用于C,C++和Objective-C的静态源代码解析对象,用于进步质量,削减瑕疵。
Clang Static Analyzer:查找C,C++和Objective-C法度bug的源代码解析对象
List of tools for static code analysis :来自维基百科的静态代码解析对象列表
相关文章推荐
- VC++实现Windows中双显示器(主屏、扩展屏)
- 条款九:利用析构函数避免内存泄露
- C++ 通过虚函数表,直接外部访问类中的函数,并且脱离类
- c语言的类型转换
- 看C语言程序员的七夕如何表白:用C说爱你
- 华为上机题汇总(三)
- alert()实现原理的探索!(c++底层机制我也不懂啊!)
- 关于AndroidL到androidM的STLC++库的改变
- 再探指针与typedef
- 初学者怎么理解集成开发环境,编译与链接(三)
- Windows下对进程的一些操作
- C++输入字符串
- Effective Modern C++ 条款3 理解decltype
- C++文件读写
- c/c++ 程序运行的路径
- C++priority_queue优先队列
- C语言指针类型转换
- C++deque双端队列
- C++面试之__C++4种转换类型
- C++封装C#中的事件