值得学习的C/C++开源库和框架(转)

多项混杂

ca88官网,一对得力的库或然工具,不过不相符上边的归类,也许还并没有分类。

  • C++
    Format
     :C++的袖珍,安全和便捷格式化库
  • casacore :从aips++
    派生的1多元C++大旨库
  • cxx-prettyprint:用于C++容器的打字与印刷库
  • DynaPDF :易于使用的PDF生成库
  • gcc-poison :扶助开发职员禁止应用程序中的不安全的C/C++函数的粗略的头文件。
  • googlemock:编写和平运动用C++模拟类的库
  • HTTP
    Parser
     :C的http请求/响应解析器
  • libcpuid :用于x8六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++包装器。

 

数学

  • Armadillo :高品质的C++线性代数库,速度和易用性做到了很好的平衡。语法和MatlAB很相似
  • blaze:高质量的C++数学库,用于密集和稀疏算法。
  • ceres-solver :来自谷歌(谷歌)的C++库,用于建立模型和平解决决大型复杂非线性最小平方难题。
  • CGal: 高效,可信的汇聚算法集合
  • cml :用于游戏和图片的免费C++数学库
  • Eigen :高级C++模板头文件库,包罗线性代数,矩阵,向量操作,数值化解和别的有关的算法。
  • GMTL:数学图形模板库是一组广泛完结核心图形的工具。
  • GMP:用于个高精度计算的C/C++库,处理有标志整数,有理数和浮点数。

 

– 4. CMockery

cmockery是google公布的用于C单元测试的1个轻量级的框架。它很精致,对任何开源包未有信赖,对被测试代码侵入性小。cmockery的源代码行数不到3K,你读书一下will_return和mock的源代码就一目驾驭了。

重要特色:

  • 免费且开源,google提供技术帮助;
  • 轻量级的框架,使测试特别快速不难;
  • 幸免使用复杂的编写翻译器性格,对老版本的编写翻译器来讲,包容性好;
  • 并不强制需要待测代码必须注重C9玖标准,那三个性对习以为常嵌入式系统的付出很有用

下载链接:http://code.google.com/p/cmockery/downloads/list

– 5. Libev

libev是四个开源的风浪驱动库,基于epoll,kqueue等OS提供的根底设备。其以便捷盛名,它能够将IO事件,定时器,和复信号统1起来,统1放在事件处理那一套框架下拍卖。基于Reactor形式,效能较高,并且代码精简(4.一5本子七千多行),是读书事件驱动编制程序的很好的能源。

下载链接:http://software.schmorp.de/pkg/libev.html

– 6. Memcached

Memcached
是多少个高品质的分布式内部存款和储蓄器对象缓存系统,用于动态Web应用以减轻数据库负载。它经过在内部存款和储蓄器中缓存数据和指标来压缩读取数据库的次数,从而提供动态数据库驱动网址的快慢。Memcached
基于三个存款和储蓄键/值对的
hashmap。Memcached-1.4.7的代码量依旧得以接受的,唯有10K行左右。

下载地址:http://memcached.org/

Jason

  • frozen :
    C/C++的Jason解析生成器
  • Jansson :实行编解码和拍卖Jason数据的C语言库
  • jbson :C++第11四中学营造和迭代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解析库

 

值得学习的C语言开源项目

C++ 财富大全

有关 C++
框架、库和财富的部分集聚列表,内容囊括:标准库、Web应用框架、事在人为智能、数据库、图片处理、机器学习、日志、代码分析等。

 

脚本

  • ChaiScript :用于C++的简单使用的嵌入式脚本语言。
  • Lua :用于配置文件和中坚应用程序脚本的小型飞快脚本引擎。
  • luacxx:用于创建Lua绑定的C++ 1一API
  • SWIG :3个方可让你的C++代码链接到JavaScript,Perl,PHP,Python,Tcl和Ruby的包装器/接口生成器
  • V7:嵌入式的JavaScript 引擎。
  • V8 :谷歌(Google)的快速JavaScript引擎,能够被停放到其它C++应用程序中。

 

图像处理

  • 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总结机图形学,图像处理和可视化的开源免费软件系统。

 

框架

C++通用框架和库

  • Apache C++ Standard
    Library
    :是壹七种算法,容器,迭代器和别的宗旨组件的联谊
  • ASL :Adobe源代码库提供了同行的评定审查和可移植的C++源代码库。
  • Boost :大批量通用C++库的聚合。
  • BDE :来自于彭博资源音信实验室的付出环境。
  • Cinder:提供标准品质制造性编码的开源开发社区。
  • Cxxomfort:轻量级的,只包罗头文件的库,将C++
    1一的1些新特色移植到C++0三中。
  • Dlib:使用契约式编制程序和现代C++科学技术规划的通用的跨平台的C++库。
  • EASTL :EA-STL公共部分
  • ffead-cpp :集团应用程序开发框架
  • Folly:由Instagram(Instagram)开发和应用的开源C++库
  • JUCE :包括万象的C++类库,用于支付跨平台软件
  • libPhenom:用于营造高品质和可观可扩充性系统的风浪框架。
  • LibSourcey :用于实时的录像流和高品质互联网应用程序的C++11evented 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.

 

– 10. NETBSD

NetBSD是三个免费的,具有莫斯中国科学技术大学学移植性的 UNIX-like
操作系统,是现行反革命可移植平台最多的操作系统,能够在不少平台上执行,从 64bit
阿尔法 服务器到手持设备和嵌入式设备。NetBSD布置的口号是:”Of course it
runs
NetBSD”。它安顿简洁,代码规范,拥有许多Red Banner特性,使得它在产业界和学术界广受好评。由于简洁的规划和进步的特性,使得它在生养和探讨方面,都有卓绝的表现,而且它也有受使用者协理的总体的源代码。许多顺序都得以很简单地由此NetBSD
Packages Collection得到。

下载地址:http://www.netbsd.org/

图形

  • bgfx:跨平台的渲染库
  • Cairo:协理八种输出设备的二D图形库
  • Horde3D 贰个袖珍的3D渲染和动画片引擎
  • magnum C++1壹和OpenGL 贰D/3D
    图形引擎
  • Ogre
    3D
     用C++编写的三个面向场景,实时,灵活的3D渲染引擎(并非游戏引擎)
  • OpenSceneGraph 具有高质量的开源3D图形工具包
  • Panda3D 用于3D渲染和游戏支付的框架,用Python和C++编写。
  • Skia 用于绘制文字,图形和图像的全体的二D图形库
  • urho3d 跨平台的渲染和游玩引擎。

 

机器人学

  • MOOS-IvP :1组开源C++模块,提供机器人平台的自主权,尤其是自立的海洋车辆。
  • MRPT:移动机器人编制程序工具包
  • PCL :点云库是一个单独的,大规模的盛开项目,用于二D/3D图像和点云处理。
  • Robotics Library (RL)
    2个独自的C++库,包罗机器人重力学,运动设计和操纵。
  • RobWork:一组C++库的汇集,用于机器人系统的假冒伪造低劣和操纵。
  • ROS :机器人操作系统,提供了有的库和工具援助软件开发职员创造机器人应用程序。

 

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++库。

 

– 9. UNIX v6

UNIX V陆 的内核源代码蕴含设备驱动程序在内 约有10000行,那个数据的源代码,初学者是力所能及尽量领略的。有一种说法是一人所能驾驭的代码量上限为一万行,UNIX
V6的内核源代码从数额上看刚刚在这几个范围以内。看到此间,我们是否也有“要是只有壹万行的话没准儿笔者也能学会”的想法呢?

一面,近期的操作系统,例如Linux 最新版的内核源代码听他们讲超越了一千万行。即使不是初大家,想全盘知晓全体代码基本上也是不容许的。

下载地址:http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6

合并开发环境(IDE)

C/C++集成开发条件列表

  • AppCode :创设与JetBrains’
    速龙liJ IDEA
    平台上的用于Objective-C,C,C++,Java和Java开发的并轨开发条件
  • CLion:来自JetBrains的跨平台的C/C++的三合一开发环境
  • Code::Blocks :免费C,C++和Fortran的合并开发条件
  • CodeLite :另二个跨平台的免费的C/C++集成开发条件
  • Dev-C++:可移植的C/C++/C++1一合并开发条件
  • Eclipse
    CDT
    :基于Eclipse平台的作用齐全的C和C++集成开发环境
  • Geany :轻量级的高效,跨平台的融会开发条件。
  • IBM
    VisualAge
     :来自IBM的家园总括机集成开发条件。
  • Irony-mode:由libclang驱动的用于Emacs的C/C++微形式
  • KDevelop:免费开源集成开发环境
  • Microsoft Visual
    Studio
     :来自微软的购并开发条件
  • NetBeans :重要用以Java开发的的合壹开发环境,也协助别的语言,特别是PHP,C/C++和HTML伍。
  • Qt
    Creator
    :跨平台的C++,Javascript和QML集成开发环境,也是Qt
    SDK的一片段。
  • rtags:C/C++的客户端服务器索引,用于
    跟基于clang的emacs的合并
  • Xcode :由苹果公司开发
  • YouCompleteMe:一个用于Vim的依照你敲的代码快捷模糊搜索并展开代码补全的电动机。

 

十一日游引擎

  • Cocos2d-x :四个跨平台框架,用于创设二D游玩,互动图书,演示和其它图形应用程序。
  • Grit :社区品种,用于营造贰个免费的7日游引擎,完成开放的世界3D游戏。
  • Irrlicht :C++语言编写的开源高品质的实时#D引擎
  • Polycode:C++落成的用来成立游戏的开源框架(与Lua绑定)。

 

机械学习

  • Caffe :迅速的神经互联网框架
  • CCV :以C语言为核心的现代总括机视觉库
  • mlpack :可增添的C++机器学习库
  • OpenCV:开源总括机视觉库
  • Recommender:使用协同过滤进行产品推荐/建议的C语言库。
  • SHOGUN:Shogun
    机器学习工具
  • sofia-ml :用于机器学习的便捷增量算法套件

 

静态代码分析

进步品质,收缩缺陷的代码分析工具列表

容器

  • C++
    B-tree
     :基于B树数据结构,完毕命令内部存款和储蓄器容器的模板库
  • Hashmaps
    C++中开放寻址哈希表算法的贯彻

 

人造智能

  • btsk :游戏作为树运营器工具
  • Evolving Objects:基于模板的,ANSI
    C++演变总结库,能够帮忙您十二分火速地编写出自个儿的任性优化算法。
  • Neu:C++1一框架,编制程序语言集,用于创建人工智能应用程序的多用途软件系统。

 

序列化

  • Cap’n
    Proto
     :火速数据调换格式和OdysseyPC系统。
  • cereal :C++1一 系列化库
  • FlatBuffers :内部存款和储蓄器高效的体系化库
  • MessagePack :C/C++的高速②进制类别化库,例如
    JSON
  • protobuf :协议缓冲,谷歌(Google)的数据交流格式。
  • protobuf-c :C语言的协商缓冲完成
  • SimpleBinaryEncoding:用于低顺延应用程序的对2进制格式的应用程序新闻的编码和平消除码。
  • Thrift :高效的跨语言IPC/奇骏PC,用于C++,Java,Python,PHP,C#和其余多样语言中,最初由Twitter开发。

 

视频

  • libvpx :VP8/VP九编码解码SDK
  • FFmpeg :2个全部的,跨平台的消除方案,用于记录,转换视频和音频流。
  • libde265 :开放的h.265摄像编解码器的兑现。
  • OpenH264:开源H.36四 编解码器。
  • Theora :免费开源的录像压缩格式。

 

密码学

  • Bcrypt :二个跨平台的公文加密工具,加密文件能够移植到拥有可支撑的操作系统和电脑中。
  • BeeCrypt
  • Botan: C++加密库
  • Crypto++:贰个有关加密方案的免费的C++库
  • GnuPG: OpenPGP标准的全部兑现
  • GnuTLS :完成了SSL,TLS和DTLS协议的黑河通讯库
  • Libgcrypt
  • libmcrypt
  • LibreSSL:免费的SSL/TLS协议,属于201四OpenSSL的3个分支
  • LibTomCrypt:3个老大全面的,模块化的,可移植的加密工具
  • libsodium:基于NaCI的加密库,固执己见,不难采纳
  • Nettle 底层的加密库
  • OpenSSL :
    叁个强大的,商用的,效用齐全的,开放源代码的加密库。
  • Tiny AES128 in
    C
     :用C完结的一个娇小玲珑,可移植的达成了AES12八ESB的加密算法

 

网络

  • 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 :高速,模块化的异步通讯库

 

图形用户界面

  • 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和别的平台创设应用程序

 

国际化

  • gettext :GNU `gettext’
  • IBM ICU:提供Unicode
    和环球化协助的C、C++ 和Java库
  • libiconv :用于分化字符编码之间的编码转换库

 

– 8. SQLite

SQLite是多少个开源的嵌入式关全面据库,完毕自包容、零配置、帮忙工作的SQL数据库引擎。
其天性是莫斯中国科学技术大学学便携、使用方便、结构紧密、高效、可信赖。丰硕小,大约10000行C代码,250K。

下载地址:http://www.sqlite.org/

– 7. Lua

Lua很棒,Lua是巴西人发明的,那一个都令笔者不爽,然而还不一定脸红,最多眼红。

让本身脸红的是Lua的源代码,百分之一百的ANSI
C,一点都不夹杂。在别的协理ANSI
C编写翻译器的阳台上都能够轻松编写翻译通过。笔者试过,真是一点废话都并未有。Lua的代码数量丰盛小,伍.1.四可是一.伍W行,去掉空白行和注释猜度能到1W行。

下载地址:http://www.lua.org/

音频

旋律,声音,音乐,数字化音乐库

  • FMOD :易于使用的跨平台的节奏引擎和韵律内容的游艺术创作作工具。
  • Maximilian :C++音频和音乐数字时域信号处理库
  • OpenAL :开源音频库—跨平台的音频API
  • Opus:叁个全然开放的,免版税的,高度通用的音频编解码器
  • Speex:免费编解码器,为Opus所扬弃
  • Tonic
    C++易用和便捷的旋律合成
  • Vorbis: Ogg
    Vorbis是一种截然开放的,非专有的,免版税的通用压缩音频格式。

 

数据库

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

  • hiberlite :用于Sqlite3的C++对象关系映射
  • Hiredis
    用于Redis数据库的很简短的C客户端库
  • LevelDB: 快速键值存款和储蓄库
  • LMDB:符合数据库四大主导成分的内置键值存储
  • MySQL++:封装了MySql的C
    API的C++ 包装器
  • RocksDB:来自推特(Twitter)的嵌入键值的即刻储存
  • SQLite:二个截然嵌入式的,效能齐全的关全面据库,只有几百KB,能够正确包涵到你的体系中。

 

压缩

减掉和归档库

  • bzip2:1个完全免费,免费专利和高品质的数据压缩
  • doboz:能够火速解压缩的压缩库
  • PhysicsFS:对种种归档提供抽象访问的库,主要用来录制游戏,设计灵感部分来自于Quake叁的文件子系统。
  • KArchive:用于创立,读写和操作文件档案(例如zip和
    tar)的库,它通过QIODevice的一多重子类,使用gzip格式,提供了晶莹剔透的回落和平解决压缩的数量。
  • LZ4 :万分迅猛的压缩算法
  • LZHAM :无损压缩数据库,压缩比率跟LZMA接近,不过解压缩速度却要快得多。
  • LZMA :柒z格式暗许和通用的压缩方法。
  • LZMAT :及其急忙的实时无损数据压缩库
  • miniz:单1的C源文件,紧缩/膨胀压缩库,使用zlib兼容API,ZIP归档读写,PNG写方式。
  • Minizip:Zlib最新bug修复,帮忙PKWARE磁盘跨越,AES加密和IO缓冲。
  • Snappy :快速回落和解压缩
  • ZLib :非凡严厉的数量流压缩库
  • ZZIPlib:提供ZIP归档的读权限。

 

标准库

C++标准库,包括了STL容器,算法和函数等。

 

调试器

C/C++调试器列表

  • Comparison of
    debuggers
     :来自维基百科的调节和测试器列表
  • GDB :GNU调试器
  • Valgrind:内部存款和储蓄器调节和测试,内部存款和储蓄器走漏检查实验,品质分析工具。

 

多媒体

  • GStreamer :营造媒体处理组件图形的库
  • LIVE555 Streaming
    Media
     :使用开放标准协议(兰德卡宴TP/汉兰达TCP,
    KugaTSP, SIP) 的多媒体流库
  • libVLC :libVLC (VLC
    SDK)媒体框架
  • QtAv:基于Qt和FFmpeg的多媒体播放框架,能够帮忙您不难地编写出1个播放器
  • SDL :简单直控媒体层
  • SFML :快捷,简单的多媒体库

 

异步事件循环

  • Boost.Asio:用于网络和后面部分I/O编程的跨平台的C++库。
  • libev :效率齐全,高品质的日子循环,轻微地模仿libevent,然则不再像libevent1样有局限性,也修复了它的部分bug。
  • libevent :事件公告库
  • libuv :跨平台异步I/O。

 

软件

用来创立开发环境的软件

– 3. cJSON

cJSON是C语言中的3个JSON编解码器,非凡轻量级,C文件唯有500多行,速度也尤其精良。

cJSON也存在多少个毛病,就算效果不是丰盛强劲,但cJSON的小身板和速度是最值得嘉许的。其代码被百般好地掩护着,结构也简要易懂,能够作为2个不行好的C语言项目展开学习。

品类主页:http://sourceforge.net/projects/cjson/

在线编译器

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

  • codepad :在线编写翻译器/解释器,三个大约的通力同盟工具
  • CodeTwist:3个不难易行的在线编写翻译器/解释器,你能够贴补的C,C++只怕Java代码,在线执行并查看结果
  • coliru :在线编写翻译器/shell,
    补助各样C++编写翻译器
  • Compiler
    Explorer
    :交互式编写翻译器,能够开始展览汇编输出
  • CompileOnline:Linux上在线编写翻译和实施C++程序
  • Ideone :二个在线编写翻译器和调节和测试工具,允许你在线编译源代码并进行,协助60三种编制程序语言。

 

营造系统

  • Bear :用于为clang工具生成编写翻译数据库的工具
  • Biicode:基于文件的简单借助管理器。
  • CMake :跨平台的免费开源软件用于管理软件使用独立编写翻译的点子进行创设的进度。
  • CPM:基于CMake和Git的C++包管理器
  • FASTBuild:高品质,开源的构建系统,扶助高度可扩展性的编写翻译,缓冲和互连网遍布。
  • Ninja :专注于速度的微型营造系统
  • Scons :使用Python scipt 配置的软件创设筑工程具
  • tundra :高质量的代码营造系统,甚至对于丰硕大型的软件项目,也能提供最棒的增量营造次数。
  • tup:基于文件的创设系统,用于后台监察和控制变化的文本。

 

日志

  • Boost.Log :设计极度模块化,并且具有扩张性
  • easyloggingpp:C++日志库,只含有单1的头文件。
  • Log4cpp :1雨后鞭笋C++类库,灵活加上日志到文件,系统日志,IDSA和其他地点。
  • templog:轻量级C++库,能够添加日志到你的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的3个簇新的接口,使用了C++的广大过多优势,模板,万分和更加好的不行处理。
  • Xerces-C++ :用可移植的C++的子集编写的XML验证解析器。

 

调试

调节和测试库, 内部存款和储蓄器和财富走漏检查实验,单元测试

  • Boost.Test:Boost测试库
  • Catch:多少个很风尚的,C++原生的框架,只包括头文件,用于单元测试,测试驱动开发和作为使得开发。
  • CppUnit:由JUnit移植过来的C++测试框架
  • CTest:CMake测试驱动程序
  • googletest:谷歌(Google)C++测试框架
  • ig-debugheap:用于跟踪内部存款和储蓄器不当的多平台调节和测试堆
  • libtap:用C语言编写测试
  • MemTrack —用于C++跟踪内部存储器分配
  • microprofile
    跨平台的网络试图分析器
  • minUnit :使用C写的Mini单元测试框架,只行使了多少个宏
  • Remotery:用于web视图的单1C文件分析器
  • UnitTest++:轻量级的C++单元测试框架

 

– 1. Webbench

韦布ench是二个在linux下行使的非凡不难的网址压测工具。它选用fork()模拟多个客户端同时做客大家设定的U锐界L,测试网站在压力下办事的习性,最多能够照猫画虎3万个冒出连接去测试网址的载荷能力。韦布ench使用C语言编写,
代码实在太简洁,源码加起来不到600行。

下载链接:http://home.tiscali.cz/~cz210552/webbench.html

物理学

重力学仿真引擎

  • Box2D:二D的游戏物理引擎。
  • Bullet :3D的游艺物理引擎。
  • Chipmunk :快捷,轻量级的贰D游戏物理库
  • LiquidFun:贰D的嬉戏物理引擎
  • ODE :开放重力学引擎-开源,高品质库,模拟刚体重力学。
  • ofxBox2d:Box二D开源框架包装器。
  • Simbody :高质量C++多体引力学/物理库,模拟关节生物力学和机械系统,像车辆,机器人和身体骨骼。

 

虚拟机

  • CarpVM:C中有趣的VM,让咱们一齐来探望那一个。
  • MicroPython :意在贯彻单片机上Python三.x的完毕
  • TinyVM:用纯粹的ANSI
    C编写的小型,飞速,轻量级的虚拟机。

 

生态学

生物音讯,基因组学和生物技术

  • libsequence:用于表示和剖析群众体育遗传学数据的C++库。
  • SeqAn:专注于生物数据体系分析的算法和数据结构。
  • Vcflib :用于解析和拍卖VCF文件的C++库
  • Wham:直接把联想测试应用到BAM文件的基因结构变异。

 

科学计算

  • FFTW :用一维要么多维总结DFT的C语言库。
  • GSL:GNU科学库。

 

编译器

C/C++编译器列表

  • Clang :由苹果公司支付的
  • GCC:GNU编写翻译器集合
  • Intel C++
    Compiler
     :由英特尔公司支付
  • LLVM :模块化和可重用编写翻译器和工具链技术的聚集
  • Microsoft Visual
    C++
     :MSVC,由微软集团开销
  • Open
    WatCom
     :沃特com,C,C++和Fortran交叉编写翻译器和工具
  • TCC :轻量级的C语言编写翻译器

 

– 2. Tinyhttpd

tinyhttpd是一个超轻量型Http
Server,使用C语言开发,全体代码唯有50二行(包罗注释),附带一个简易的Client,可以经过翻阅那段代码了解3个Http Server 的真相。

下载链接:http://sourceforge.net/projects/tinyhttpd/

并发性

并发执行和二10十2线程

  • Boost.Compute :用于OpenCL的C++GPU计算库
  • Bolt :针对GPU举办优化的C++模板库
  • C++React :用于C++11的反应性编制程序库
  • Intel
    TBB
     :AMD线程构件块
  • Libclsph:基于OpenCL的GPU加快SPH流体仿真库
  • OpenCL :并行编制程序的异构系统的绽开标准
  • OpenMP:OpenMP API
  • Thrust :类似于C++标准模板库的并行算法库
  • HPX :用于其余规模的互相和分布式应用程序的通用C++运转时系统
  • VexCL :用于OpenCL/CUDA
    的C++向量表达式模板库。

 

相关文章