Webbench使用C语言编写,使用C语言开发

作者: 编程  发布:2019-11-20

机器人学

  • MOOS-IvP :豆蔻梢头组开源C++模块,提供机器人平台的自主权,尤其是独立的大洋车辆。
  • MRPT:移动机器人编制程序工具包
  • PCL :点云库是二个独自的,大范围的吐放项目,用于2D/3D图像和点云处理。
  • Robotics Library (RL): 壹个单身的C++库,富含机器人引力学,运动设计和操纵。
  • RobWork:大器晚成组C++库的集结,用于机器人系统的仿真和操纵。
  • ROS :机器人操作系统,提供了豆蔻年华部分库和工具辅助软件开垦人士创办机器人应用程序。

 

科学总计
  • FFTW :用生龙活虎维依旧多维总括DFT的C语言库。
  • GSL:GNU科学库。

图形

  • bgfx:跨平台的渲染库
  • Cairo:协助各类输出设备的2D图形库
  • Horde3D 三个微型的3D渲染和卡通片引擎
  • magnum C++11和OpenGL 2D/3D 图形引擎
  • Ogre 3D 用C++编写的二个面向场景,实时,灵活的3D渲染引擎(实际不是游戏引擎卡塔尔
  • OpenSceneGraph 具备高品质的开源3D图形工具包
  • Panda3D 用于3D渲染和玩耍支付的框架,用Python和C++编写。
  • Skia 用于绘制文字,图形和图像的欧洲经济共同体的2D图形库
  • urho3d 跨平台的渲染和娱乐引擎。

 

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

数学

  • Armadillo :高水平的C++线性代数库,速度和易用性做到了很好的平衡。语法和MatlAB相当帅似
  • blaze:高质量的C++数学库,用于密集和疏散算法。
  • ceres-solver :来自谷歌(Google卡塔 尔(英语:State of Qatar)的C++库,用于建立模型和缓和大型复杂非线性最小平方问题。
  • CGal: 高效,可信赖的相会算法集结
  • cml :用于游戏和图纸的免费C++数学库
  • Eigen :高端C++模板头文件库,包含线性代数,矩阵,向量操作,数值死灭和其余有关的算法。
  • GMTL:数学图形模板库是风流倜傥组布满完结中央图形的工具。
  • GMP:用于个高精度计算的C/C++库,管理有暗记整数,有理数和浮点数。

 

图形客户界面
  • 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和别的平台创立应用程序

- 2. Tinyhttpd

tinyhttpd是叁个相当轻量型Http Server,使用C语言开拓,全部代码唯有502行(饱含注释),附带三个简单的Client,能够经过翻阅这段代码精晓三个Http Server 的精气神。

下载链接:

物理学

引力学仿真引擎

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

C++ 财富大全

至于 C++ 框架、库和能源的片段聚集列表,内容囊括:标准库、Web应用框架、人为智能、数据库、图片管理、机械学习、日志、代码剖析等。

 

网络
  • 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:为十31日游开采职员提供的跨平台的开源C++互联网引擎。
  • Tuf o :用于Qt之上的C++创设的异步Web框架。
  • WebSocket++ :基于C++/Boost Aiso的websocket 客商端/服务器库
  • ZeroMQ :高速,模块化的异步通讯库

国际化

  • gettext :GNU `gettext’
  • IBM ICU:提供Unicode 和满世界化协理的C、C++ 和Java库
  • libiconv :用于差异字符编码之间的编码转变库

 

脚本
  • ChaiScript :用于C++的轻便使用的嵌入式脚本语言。
  • Lua :用于配置文件和大旨应用程序脚本的小型连忙脚本引擎。
  • luacxx:用于创造Lua绑定的C++ 11 API
  • SWIG :三个得以让您的C++代码链接到JavaScript,Perl,PHP,Python,Tcl和Ruby的包装器/接口生成器
  • V7:嵌入式的JavaScript 引擎。
  • V8 :谷歌(Google卡塔尔国的飞跃JavaScript引擎,能够被放置到其余C++应用程序中。

密码学

  • Bcrypt :三个跨平台的文本加密工具,加密文书可以移植到全部可扶助的操作系统和Computer中。
  • BeeCrypt:
  • Botan: C++加密库
  • Crypto++:三个关于加密方案的无需付费的C++库
  • GnuPG: OpenPGP标准的完全兑现
  • GnuTLS :完毕了SSL,TLS和DTLS合同的广安通讯库
  • Libgcrypt
  • libmcrypt
  • LibreSSL:免费的SSL/TLS左券,归于二零一四OpenSSL的多个支行
  • LibTomCrypt:二个万分系数的,模块化的,可移植的加密工具
  • libsodium:基于NaCI的加密库,深闭固拒,轻易选择
  • Nettle 底层的加密库
  • OpenSSL : 多少个强盛的,商用的,功用齐全的,开放源代码的加密库。
  • Tiny AES128 in C :用C实现的三个精致,可移植的贯彻了AES128ESB的加密算法

 

四十十二十五日游引擎
  • Cocos2d-x :贰个跨平台框架,用于创设2D游乐,相互作用图书,演示和其它图形应用程序。
  • Grit :社区档期的顺序,用于创设四个无需付费的娱乐引擎,完毕开放的社会风气3D游戏。
  • Irrlicht :C++语言编写的开源高质量的实时#D引擎
  • Polycode:C++完结的用于创造游戏的开源框架(与Lua绑定卡塔尔国。

音频

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

  • FMOD :易于使用的跨平台的韵律引擎和音频内容的游乐创作工具。
  • Maximilian :C++音频和音乐复信号管理库
  • OpenAL :开源音频库—跨平台的音频API
  • Opus:壹个通通开放的,免版税的,中度通用的韵律编解码器
  • Speex:免费编解码器,为Opus所放弃
  • Tonic: C++易用和飞快的节拍合成
  • Vorbis: Ogg Vorbis是生龙活虎种截然开放的,非专有的,免版税的通用压缩音频格式。

 

调试器

C/C++调节和测量试验器列表

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

游玩引擎

  • Cocos2d-x :一个跨平台框架,用于构建2D游戏,相互作用图书,演示和此外图形应用程序。
  • Grit :社区品种,用于塑造三个免费的玩乐引擎,达成开放的社会风气3D游戏。
  • Irrlicht :C++语言编写的开源高品质的实时#D引擎
  • Polycode:C++完结的用于创制游戏的开源框架(与Lua绑定卡塔 尔(阿拉伯语:قطر‎。

 

软件

用于创制开荒意况的软件

调试

调节和测验库, 内部存储器和能源走漏检验,单元测验

  • Boost.Test:Boost测试库
  • Catch:二个很风尚的,C++原生的框架,只包罗头文件,用于单元测量检验,测量检验驱动开荒和行为使得开辟。
  • CppUnit:由JUnit移植过来的C++测量检验框架
  • CTest:CMake测验驱动程序
  • googletest:谷歌(Google卡塔 尔(阿拉伯语:قطر‎C++测量检验框架
  • ig-debugheap:用于追踪内存不当的多平台调节和测量检验堆
  • libtap:用C语言编写测验
  • MemTrack —用于C++追踪内部存款和储蓄器分配
  • microprofile- 跨平台的网络试图深入分析器
  • minUnit :使用C写的精雕细刻单元测验框架,只使用了三个宏
  • Remotery:用于web视图的纯净C文件深入分析器
  • UnitTest++:轻量级的C++单元测验框架

 

- 3. cJSON

cJSON是C语言中的三个JSON编解码器,相当轻量级,C文件唯有500多行,速度也格外杰出。

cJSON也设有多少个毛病,固然成效不是相当刚劲,但cJSON的小身板和进程是最值得陈赞的。其代码被极度好地保证着,结构也简要易懂,能够视作贰个十二分好的C语言项目进展学习。

品类主页:

脚本

  • ChaiScript :用于C++的轻便使用的嵌入式脚本语言。
  • Lua :用于配置文件和基本应用程序脚本的小型火速脚本引擎。
  • luacxx:用于制造Lua绑定的C++ 11 API
  • SWIG :多个能够让您的C++代码链接到JavaScript,Perl,PHP,Python,Tcl和Ruby的包装器/接口生成器
  • V7:嵌入式的JavaScript 引擎。
  • V8 :Google的高速JavaScript引擎,能够被内置到任何C++应用程序中。

 

视频
  • libvpx :VP8/VP9编码解码SDK
  • FFmpeg :三个意气风发体化的,跨平台的实施方案,用于记录,转变摄像和音频流。
  • libde265 :开放的h.265录像编解码器的完毕。
  • OpenH264:开源H.364 编解码器。
  • Theora :无偿开源的录像压缩格式。

图像管理

  • Boost.GIL:通用图像库
  • CImg :用于图像管理的Mini开源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 :用于3DComputer图形学,图像管理和可视化的开源无偿软件系统。

 

在线编写翻译器

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

  • codepad :在线编译器/解释器,二个简便的合作工具
  • CodeTwist:贰个轻易的在线编写翻译器/解释器,你能够贴补的C,C++或许Java代码,在线实践并查阅结果
  • coliru :在线编写翻译器/shell, 协助各类C++编译器
  • Compiler Explorer:人机联作式编写翻译器,能够拓宽汇编输出
  • CompileOnline:Linux上在线编写翻译和实行C++程序
  • Ideone :贰个在线编写翻译器和调节和测量试验工具,允许你在线编写翻译源代码并施行,帮衬60各个编制程序语言。

- 5. Libev

libev是一个开源的平地风波驱动库,基于epoll,kqueue等OS提供的根基设备。其以神速有名,它能够将IO事件,停车计时器,和时限信号统一同来,统豆蔻年华放在事件管理这生龙活虎套框架下管理。基于Reactor格局,效率较高,并且代码简洁明了(4.15本子8000多行卡塔 尔(英语:State of Qatar),是学习事件驱动编制程序的很好的能源。

下载链接:

标准库

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:由Twitter开辟和采纳的开源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.

 

异步事件循环
  • Boost.Asio:用于互连网和尾部I/O编制程序的跨平台的C++库。
  • libev :功用齐全,高性能的时光循环,轻微地效法libevent,不过不再像libevent近似有局限性,也修复了它的局地bug。
  • libevent :事件通知库
  • libuv :跨平台异步I/O。

科学总计

  • FFTW :用后生可畏维可能多维计算DFT的C语言库。
  • GSL:GNU科学库。

 

人造智能
  • btsk :游戏作为树运转器工具
  • Evolving Objects:基于模板的,ANSI C++演变总计库,能够扶助你特别急忙地编写出自身的妄动优化算法。
  • Neu:C++11框架,编制程序语言集,用于创立人工智能应用程序的多用场软件系统。

编译器

C/C++编写翻译器列表

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

 

密码学
  • Bcrypt :四个跨平台的文件加密工具,加密文书能够移植到具备可支撑的操作系统和计算机中。
  • BeeCrypt:
  • Botan: C++加密库
  • Crypto++:一个关于加密方案的无需付费的C++库
  • GnuPG: OpenPGP标准的风姿浪漫体化兑现
  • GnuTLS :完毕了SSL,TLS和DTLS公约的平安通讯库
  • Libgcrypt
  • libmcrypt
  • LibreSSL:免费的SSL/TLS左券,归于2014OpenSSL的一个分支
  • LibTomCrypt:二个分外周详的,模块化的,可移植的加密工具
  • libsodium:基于NaCI的加密库,固执己见,轻便接收
  • Nettle 底层的加密库
  • OpenSSL : 二个无敌的,商用的,作用齐全的,开放源代码的加密库。
  • Tiny AES128 in C :用C达成的一个Mini,可移植的达成了AES128ESB的加密算法

- 6. Memcached

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

下载地址:

合龙开采蒙受(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++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的基于你敲的代码火速模糊寻找并拓宽代码补全的外燃机。

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

生态学

海洋生物音信,基因组学和生物技巧

  • 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归档的读权限。

 

- 1. Webbench

Webbench是三个在linux下行使的特别轻巧的网址压测工具。它应用fork()模拟五个顾客端同期做客大家设定的UCRUISERL,测量试验网址在压力下办事的习性,最多能够上行下效3万个冒出连接去测量检验网址的载重本领。韦布ench使用C语言编写, 代码实在太简洁,源码加起来不到600行。

下载链接:

视频

  • libvpx :VP8/VP9编码解码SDK
  • FFmpeg :一个完好无损的,跨平台的消除方案,用于记录,转变录制和音频流。
  • libde265 :开放的h.265摄像编解码器的兑现。
  • OpenH264:开源H.364 编解码器。
  • Theora :免费开源的录像压缩格式。

 

序列化
  • Cap’n Proto :飞快数据沟通格式和RPC系统。
  • cereal :C++11 体系化库
  • FlatBuffers :内部存款和储蓄器高效的种类化库
  • MessagePack :C/C++的便捷二进制连串化库,举例 JSON
  • protobuf :左券缓冲,谷歌(Google卡塔 尔(阿拉伯语:قطر‎的数据调换格式。
  • protobuf-c :C语言的合同缓冲达成
  • SimpleBinaryEncoding:用于低顺延应用程序的对二进制格式的应用程序消息的编码和解码。
  • Thrift :高效的跨语言IPC/RPC,用于C++,Java,Python,PHP,C#和任何各样语言中,最早由推特(Twitter)开垦。

机械学习

  • Caffe :飞快的神经网络框架
  • CCV :以C语言为中央的现世微处理器视觉库
  • mlpack :可扩充的C++机器学习库
  • OpenCV:开源计算机视觉库
  • Recommender:使用合作过滤实行付加物推荐/提议的C语言库。
  • SHOGUN:Shogun 机器学习工具
  • sofia-ml :用于机器学习的飞快增量算法套件

 

- 8. SQLite

SQLite是二个开源的嵌入式关周密据库,达成自包容、零配置、扶持专门的学问的SQL数据库引擎。 其特点是惊人便携、使用方便、结构紧密、高效、可信。丰富小,差不离3万行C代码,250K。

下载地址: 。

生态学

海洋生物音信,基因组学和生物技能

  • libsequence:用于表示和剖析群体遗传学数据的C++库。
  • SeqAn:专心于生物数据种类深入分析的算法和数据结构。
  • Vcflib :用于拆解解析和管理VCF文件的C++库
  • Wham:直接把联想测验应用到BAM文件的基因结构变异。

 

数据库

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

  • hiberlite :用于Sqlite3的C++对象关联映射
  • Hiredis: 用于Redis数据库的异常粗略的C客户端库
  • LevelDB: 快捷键值存款和储蓄库
  • LMDB:切合数据库四大主导成分的松手键值存款和储蓄
  • MySQL++:封装了MySql的C API的C++ 包装器
  • RocksDB:来自推特的嵌入键值的连忙积存
  • SQLite:四个通通嵌入式的,功用齐全的关周详据库,唯有几百KB,能够正确包罗到您的体系中。

Web应用框架

  • Civetweb :提供易于使用,强盛的,C/C++嵌入式Web服务器,带有可选的CGI,SSL和Lua扶植。
  • CppCMS :免费高品质的Web开荒框架(不是 CMS卡塔 尔(英语:State of Qatar).
  • Crow :四个C++微型web框架(灵感来源于于Python Flask卡塔 尔(英语:State of Qatar)
  • Kore :使用C语言开辟的用于web应用程序的一点也相当的慢捷和灵活的web服务器/框架。
  • libOnion:轻量级的库,支持你使用C编制程序语言创制web服务器。
  • QDjango:使用C++编写的,基于Qt库的web框架,试图仿照Django API,由此得此名。
  • Wt :开发Web应用的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:由推特(Twitter)(照片墙)开荒和选用的开源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.

XML

XML便是个窝囊废,xml的深入分析很讨厌,对于Computer它也是个横祸。这种倒霉的东西完全未有存在的说辞了。-Linus Torvalds

  • Expat :用C语言编写的xml拆解解析库
  • Libxml2 :Gnome的xml C解析器和工具包
  • libxml++ :C++的xml解析器
  • PugiXML :用于C++的,援救XPath的轻量级,轻松高效的XML深入解析器。
  • RapidXml :试图创造最高效的XML深入解析器,同一时间保险易用性,可移植性和合理的W3C宽容性。
  • TinyXML :轻松Mini的C++XML解析器,能够超轻易地融为生机勃勃体到别的门类中。
  • TinyXML2:轻便高效的C++CML拆解解析器,能够很轻松集成到任何品类中。
  • TinyXML++:TinyXML的四个簇新的接口,使用了C++的不菲过多优势,模板,卓殊和更加好的这一个处理。
  • Xerces-C++ :用可移植的C++的子集编写的XML验证拆解剖析器。

 

构建系统
  • Bear :用于为clang工具生成编译数据库的工具
  • Biicode:基于文件的粗略依赖微处理器。
  • CMake :跨平台的无需付费开源软件用于管理软件使用独立编写翻译的主意实行营造的经过。
  • CPM:基于CMake和Git的C++包微电脑
  • FASTBuild:高质量,开源的营造系统,帮忙高度可扩充性的编写翻译,缓冲和网络分布。
  • Ninja :静心于速度的Mini创设系统
  • Scons :使用Python scipt 配置的软件构建筑工程具
  • tundra :高质量的代码构建系统,以致对于非常大型的软件项目,也能提供最棒的增量构建次数。
  • tup:基于文件的塑造系统,用于后台监察和控制变化的文件。

调试器

C/C++调节和测量试验器列表

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

 

机器人学
  • MOOS-IvP :黄金年代组开源C++模块,提供机器人平台的自主权,尤其是自主的大洋车辆。
  • MRPT:移动机器人编制程序工具包
  • PCL :点云库是二个独立的,大面积的怒放项目,用于2D/3D图像和点云管理。
  • Robotics Library (RL): 二个独立的C++库,包罗机器人引力学,运动设计和垄断。
  • RobWork:后生可畏组C++库的集聚,用于机器人系统的虚伪和操纵。
  • ROS :机器人操作系统,提供了有的库和工具协助软件开垦人士创建机器人应用程序。

人造智能

  • btsk :游戏作为树运行器工具
  • Evolving Objects:基于模板的,ANSI C++演变计算库,能够扶持你超级火速地编写出本人的人身自由优化算法。
  • Neu:C++11框架,编制程序语言集,用于创立人工智能应用程序的多用项软件系统。

 

- 7. Lua

Lua很棒,Lua是巴西联邦共和国人发明的,这一个都令我不爽,但是尚未必脸红,最多眼红。

让自家脸红的是Lua的源代码,百分之一百的ANSI C,一点都不掺杂。在其余援救ANSI C编译器的平台上都得以轻巧编写翻译通过。作者试过,真是一点废话都未有。Lua的代码数量丰盛小,5.1.4独有1.5W行,去掉空白行和注释估摸能到1W行。

下载地址:

静态代码剖析

进步水平,减弱破绽的代码分析工具列表

  • 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 :来自维基百科的静态代码分析工具列表

目录(?)[+]

  1. 值得学习的C语言开源项目
  2. - 1 Webbench
  3. - 2 Tinyhttpd
  4. - 3 cJSON
  5. - 4 CMockery
  6. - 5 Libev
  7. - 6 Memcached
  8. - 7 Lua
  9. - 8 SQLite
  10. - 9 UNIX v6
  11. - 10 NETBSD
  12. C 能源大全
    1. 标准库
    2. 框架
    3. 人为智能
    4. 异步事件循环
    5. 音频
    6. 生态学
    7. 压缩
    8. 并发性
    9. 容器
    10. 密码学
    11. 数据库
    12. 调试
    13. 二十一日游引擎
    14. 图形用户分界面
    15. 图形
    16. 图像管理
    17. 国际化
    18. Jason
    19. 日志
    20. 机械学习
    21. 数学
    22. 多媒体
    23. 网络
    24. 物理学
    25. 机器人学
    26. 科学计算
    27. 脚本
    28. 序列化
    29. 视频
    30. 虚拟机
    31. Web应用框架
    32. XML
    33. 多项混杂
    34. 软件
    35. 编译器
    36. 在线编写翻译器
    37. 调试器
    38. 购并开辟蒙受IDE
    39. 构建系统
    40. 静态代码解析

序列化

  • Cap’n Proto :急速数据调换格式和RPC系统。
  • cereal :C++11 类别化库
  • FlatBuffers :内部存款和储蓄器高效的行列化库
  • MessagePack :C/C++的短平快二进制类别化库,比如JSON
  • protobuf :公约缓冲,谷歌(Google卡塔 尔(英语:State of Qatar)的数据调换格式。
  • protobuf-c :C语言的合同缓冲实现
  • SimpleBinaryEncoding:用于低顺延应用程序的对二进制格式的应用程序新闻的编码和平解决码。
  • Thrift :高效的跨语言IPC/RPC,用于C++,Java,Python,PHP,C#和别的各种语言中,最早由推特(Twitter)开荒。

 

- 9. UNIX v6

UNIX V6 的内核源代码富含设备驱动程序在内 约有1 万行,那一个数据的源代码,初读书人是能够尽量领悟的。有风度翩翩种说法是壹位所能了然的代码量上限为1 万行,UNIX V6的内核源代码从数量上看刚刚在这里个范围以内。看见这里,我们是否也是有“如若唯有1万行的话没准儿小编也能学会”的主见啊?

一面,这段时间的操作系统,比方Linux 最新版的内核源代码据他们说超越了1000 万行。即使不是初大方,想完全知晓全体代码基本上也是不容许的。

下载地址:

多媒体

  • GStreamer :创设媒体管理组件图形的库
  • LIVE555 Streaming Media :使用开放标准合同(RTP/RTCP, RTSP, SIP) 的多媒体流库
  • libVLC :libVLC (VLC SDK)媒体框架
  • QtAv:基于Qt和FFmpeg的多媒体播放框架,能够帮忙你轻巧地编写出三个播放器
  • SDL :简单直控媒体层
  • SFML :神速,轻巧的多媒体库

 

- 6. Memcached

Memcached 是二个高品质的遍布式内部存款和储蓄器对象缓存系统,用于动态Web应用以减轻数据库负载。它经过在内部存款和储蓄器中缓存数据和目的来压缩读取数据库的次数,进而提供动态数据库驱动网址的速度。Memcached 基于叁个存款和储蓄键/值没错hashmap。Memcached-1.4.7的代码量照旧得以选拔的,独有10K行左右。

下载地址:

网络

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

 

国际化
  • gettext :GNU `gettext’
  • IBM ICU:提供Unicode 和全世界化扶持的C、C++ 和Java库
  • libiconv :用于不一致字符编码之间的编码调换库

- 10. NETBSD

NetBSD是贰个无需付费的,具有惊人移植性的 UNIX-like 操作系统,是前些天可移植平台最多的操作系统,能够在无数阳台上举行,从 64bit 阿尔法 服务器到手持设备和嵌入式设备。NetBSD安顿的口号是:”Of course it runs NetBSD”。它设计轻便,代码标准,具备众多进取性情,使得它在产业界和科学界广受好评。由于简洁的兼备和先进的特色,使得它在生养和钻探方面,都有卓越的变现,并且它也是有受使用者帮忙的完全的源代码。大多顺序都得以相当轻便地通过NetBSD Packages Collection拿到。

下载地址:

图像处理
  • 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 : 开源Computer视觉类库
  • tesseract-ocr:OCR引擎
  • VIGRA :用于图像深入分析通用C++Computer视觉库
  • VTK :用于3D计算机图形学,图像管理和可视化的开源无需付费软件系统。

异步事件循环

  • Boost.Asio:用于网络和底部I/O编程的跨平台的C++库。
  • libev :功效齐全,高质量的时辰循环,轻微地模仿libevent,可是不再像libevent相符有局限性,也修复了它的生机勃勃部分bug。
  • libevent :事件公告库
  • libuv :跨平台异步I/O。

 

- 10. NETBSD

NetBSD是贰个免费的,具有莫大移植性的 UNIX-like 操作系统,是当今可移植平台最多的操作系统,可以在重重九节台上推行,从 64bit 阿尔法 服务器到手持设备和嵌入式设备。NetBSD布署的口号是:”Of course it runs NetBSD”。它布署简洁,代码标准,具有广大不甘寂寞天性,使得它在产业界和学界广受美评。由于简洁的设计和进取的表征,使得它在生养和探究方面,都有规范的展现,并且它也是有受使用者协理的完好的源代码。比很多前后相继都得以相当的轻便地因此NetBSD Packages Collection得到。

下载地址:

物理学

引力学仿真引擎

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

 

编译器

C/C++编译器列表

  • Clang :由苹果公司开销的
  • GCC:GNU编写翻译器集合
  • Intel C++ Compiler :由AMD公司支付
  • LLVM :模块化和可重用编写翻译器和工具链本领的成团
  • Microsoft Visual C++ :MSVC,由微软集团开采
  • Open WatCom :Watcom,C,C++和Fortran交叉编写翻译器和工具
  • TCC :轻量级的C语言编写翻译器

多项混杂

一些管用的库也许工具,不过不相符上面包车型客车归类,大概还并未有分类。

  • 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++包装器。

 

数学
  • Armadillo :高素质的C++线性代数库,速度和易用性做到了很好的平衡。语法和MatlAB很雷同
  • blaze:高质量的C++数学库,用于密集和疏散算法。
  • ceres-solver :来自Google的C++库,用于建立模型和缓和大型复杂非线性最小平方问题。
  • CGal: 高效,可信的聚焦算法集合
  • cml :用于游戏和图表的免费C++数学库
  • Eigen :高等C++模板头文件库,满含线性代数,矩阵,向量操作,数值杀绝和其余相关的算法。
  • GMTL:数学图形模板库是后生可畏组普遍实现核心图形的工具。
  • GMP:用于个高精度总括的C/C++库,管理有号子整数,有理数和浮点数。

在线编写翻译器

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

  • codepad :在线编写翻译器/解释器,二个精简的搭档工具
  • CodeTwist:一个简便的在线编写翻译器/解释器,你可以贴补的C,C++可能Java代码,在线实施并查看结果
  • coliru :在线编写翻译器/shell, 帮衬各样C++编写翻译器
  • Compiler Explorer:人机联作式编写翻译器,能够张开汇编输出
  • CompileOnline:Linux上在线编写翻译和执行C++程序
  • Ideone :多个在线编写翻译器和调和工具,允许你在线编写翻译源代码并施行,接济60种种编制程序语言。

 

静态代码解析

升高水平,收缩破绽的代码深入分析工具列表

  • 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 :来自维基百科的静态代码分析工具列表

- 4. CMockery

cmockery是google公布的用来C单元测量检验的二个轻量级的框架。它很精细,对其他开源包未有信任,对被测验代码侵入性小。cmockery的源代码行数不到3K,你读书一下will_return和mock的源代码就一望而知了。

至关重要特点:

  • 无偿且开源,google提供本领扶持;
  • 轻量级的框架,使测量检验尤其快速轻巧;
  • 制止使用复杂的编写翻译器本性,对老版本的编写翻译器来说,包容性好;
  • 并不强制必要待测代码必得注重C99标准,那大器晚成风味对超级多嵌入式系统的开销很有用

下载链接:

- 4. CMockery

cmockery是google发表的用于C单元测验的二个轻量级的框架。它极小巧,对别的开源包未有依靠,对被测验代码侵入性小。cmockery的源代码行数不到3K,你读书一下will_return和mock的源代码就一览明白了。

一言九鼎特点:

  • 免费且开源,google提供才能帮衬;
  • 轻量级的框架,使测量检验越来越高效轻便;
  • 制止采纳复杂的编写翻译器性格,对老版本的编写翻译器来说,包容性好;
  • 并不强制须求待测代码必得信任C99标准,那生机勃勃风味对数不尽嵌入式系统的支出很有用

下载链接:

并发性

并发实践和八十多线程

  • Boost.Compute :用于OpenCL的C++GPU计算库
  • Bolt :针对GPU实行优化的C++模板库
  • C++React :用于C++11的反应性编制程序库
  • Intel TBB :英特尔线程构件块
  • Libclsph:基于OpenCL的GPU加速SPH流体仿真库
  • OpenCL :并行编制程序的异构系统的开放标准
  • OpenMP:OpenMP API
  • Thrust :相通于C++规范模板库的并行算法库
  • HPX :用于此外规模的互相和布满式应用程序的通用C++运转时系统
  • VexCL :用于OpenCL/CUDA 的C++向量表明式模板库。

 

音频

节奏,声音,音乐,数字化音乐库

  • FMOD :易于使用的跨平台的音频引擎和节奏内容的玩耍创作工具。
  • Maximilian :C++音频和音乐数字模拟信号管理库
  • OpenAL :开源音频库—跨平台的音频API
  • Opus:三个完全开放的,免版税的,中度通用的旋律编解码器
  • Speex:无需付费编解码器,为Opus所放任
  • Tonic: C++易用和便捷的节拍合成
  • Vorbis: Ogg Vorbis是生龙活虎种截然开放的,非专有的,免版税的通用压缩音频格式。

- 7. Lua

Lua很棒,Lua是足球王国人发明的,这么些都令笔者不爽,可是还不一定脸红,最多眼红。

让自家脸红的是Lua的源代码,百分之一百的ANSI C,一点都不夹杂。在任何帮忙ANSI C编写翻译器的平台上都能够轻便编写翻译通过。作者试过,真是一点废话都尚未。Lua的代码数量丰富小,5.1.4仅仅1.5W行,去掉空白行和注释推测能到1W行。

下载地址:

C++ 财富大全

至于 C++ 框架、库和财富的有些聚齐列表,内容囊括:标准库、Web应用框架、人工智能、数据库、图片管理、机器学习、日志、代码深入分析等。

购并开采条件(IDE卡塔 尔(英语:State of Qatar)

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++11并入开采景况
  • Eclipse CDT:基于Eclipse平台的功效齐全的C和C++集成开辟条件
  • Geany :轻量级的飞跃,跨平台的合并开垦条件。
  • IBM VisualAge :来自IBM的家庭Computer集成开荒条件。
  • 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的依赖你敲的代码快捷模糊找寻并开展代码补全的外燃机。

 

调试

调节和测验库, 内部存款和储蓄器和能源走漏检查实验,单元测量检验

  • Boost.Test:Boost测试库
  • Catch:三个很前卫的,C++原生的框架,只包罗头文件,用于单元测验,测验驱动开辟和行为使得开拓。
  • CppUnit:由JUnit移植过来的C++测验框架
  • CTest:CMake测验驱动程序
  • googletest:GoogleC++测量检验框架
  • ig-debugheap:用于追踪内部存款和储蓄器不当的多平台调节和测验堆
  • libtap:用C语言编写测量试验
  • MemTrack —用于C++追踪内部存款和储蓄器分配
  • microprofile- 跨平台的互联网试图分析器
  • minUnit :使用C写的独具匠心单元测验框架,只使用了五个宏
  • Remotery:用于web视图的十足C文件解析器
  • UnitTest++:轻量级的C++单元测验框架

- 3. cJSON

cJSON是C语言中的多个JSON编解码器,比较轻量级,C文件独有500多行,速度也极度神奇。

cJSON也设有几个毛病,固然作用不是老大苍劲,但cJSON的小身板和速度是最值得礼赞的。其代码被非常好地掩护着,结构也大概易懂,可以作为贰个不行好的C语言项目张开学习。

类别主页:

日志
  • Boost.Log :设计极度模块化,何况有所扩展性
  • easyloggingpp:C++日志库,只含有单后生可畏的头文件。
  • Log4cpp :生龙活虎类别C++类库,灵活加上日志到文件,系统日志,IDSA和另内地点。
  • templog:轻量级C++库,能够加上日志到您的C++应用程序中

软件

用于创立开荒景况的软件

机械学习
  • Caffe :快捷的神经互联网框架
  • CCV :以C语言为主导的今世Computer视觉库
  • mlpack :可扩张的C++机器学习库
  • OpenCV:开源Computer视觉库
  • Recommender:使用配合过滤举行产品推荐介绍/提出的C语言库。
  • SHOGUN:Shogun 机器学习工具
  • sofia-ml :用于机器学习的长足增量算法套件

数据库

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

  • hiberlite :用于Sqlite3的C++对象关联映射
  • Hiredis: 用于Redis数据库的超级轻易的C顾客端库
  • LevelDB: 飞速键值存款和储蓄库
  • LMDB:切合数据库四大主导致的原因素的放松权利键值存款和储蓄
  • MySQL++:封装了MySql的C API的C++ 包装器
  • RocksDB:来自推特(Twitter)的放置键值的高速囤积
  • SQLite:三个通通嵌入式的,作用齐全的关周密据库,独有几百KB,可以准确包涵到您的类型中。

 

并发性

并发实行和十二线程

  • 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++向量表达式模板库。

标准库

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

  • C++ Standard Library:是少年老成连串类和函数的集合,使用基本语言编写,也是C++ISO自个儿标准的风流浪漫某些。
  • Standard Template Library:规范模板库
  • C POSIX library : POSIX系统的C标准库标准
  • ISO C++ Standards Committee :C++典型委员会

 

图形
  • bgfx:跨平台的渲染库
  • Cairo:协理多样输出设备的2D图形库
  • Horde3D 二个微型的3D渲染和卡通引擎
  • magnum C++11和OpenGL 2D/3D 图形引擎
  • Ogre 3D 用C++编写的二个面向场景,实时,灵活的3D渲染引擎(并非游戏引擎卡塔 尔(阿拉伯语:قطر‎
  • OpenSceneGraph 具备高品质的开源3D图形工具包
  • Panda3D 用于3D渲染和玩耍支付的框架,用Python和C++编写。
  • Skia9159.com , 用于绘制文字,图形和图像的欧洲经济共同体的2D图形库
  • urho3d 跨平台的渲染和游玩引擎。

- 1. Webbench

Webbench是二个在linux下行使的特别简单的网址压测工具。它使用fork()模拟多少个客商端相同的时间做客我们设定的U哈弗L,测验网址在压力下专门的学问的质量,最多能够依样葫芦3万个冒出连接去测量试验网址的负载技艺。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。

下载链接:

压缩

减弱和归档库

  • 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归档的读权限。

虚拟机

  • CarpVM:C中风趣的VM,让咱们一齐来探访那些。
  • MicroPython :意在得以完成单片机上Python3.x的兑现
  • TinyVM:用纯粹的ANSI C编写的微型,急速,轻量级的设想机。

 

Webbench使用C语言编写,使用C语言开发。Jason
  • frozen : C/C++的杰森深入分析生成器
  • Jansson :进行编解码和拍卖杰森数据的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深入分析库

- 8. SQLite

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

下载地址: 。

虚拟机
  • CarpVM:C中风趣的VM,让大家一齐来拜谒这么些。
  • MicroPython :意在达成单片机上Python3.x的落到实处
  • TinyVM:用纯粹的ANSI C编写的小型,飞速,轻量级的虚构机。

营造系统

  • Bear :用于为clang工具生成编写翻译数据库的工具
  • Biicode:基于文件的总结依靠微型机。
  • CMake :跨平台的无需付费开源软件用于管理软件使用独立编写翻译的章程开展营造的进度。
  • CPM:基于CMake和Git的C++包管理器
  • FASTBuild:高品质,开源的营造系统,扶助中度可扩大性的编写翻译,缓冲和网络分布。
  • Ninja :潜心于速度的Mini创设系统
  • Scons :使用Python scipt 配置的软件营造筑工程具
  • tundra :高质量的代码创设系统,甚至对于丰裕大型的软件项目,也能提供最棒的增量营造次数。
  • tup:基于文件的创设系统,用于后台监察和控制变化的文书。

 

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

Jason

  • frozen : C/C++的Jason拆解深入分析生成器
  • Jansson :进行编解码和拍卖杰森数据的C语言库
  • jbson :C++第114中学营造和迭代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深入分析库

 

- 2. Tinyhttpd

tinyhttpd是三个超级轻量型Http Server,使用C语言开荒,全体代码唯有502行(包涵注释),附带二个简易的Client,能够由此阅读这段代码通晓三个Http Server 的庐山真面目目。

下载链接:

容器

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

 

多项混杂

生机勃勃对实用的库恐怕工具,不过不切合上边的归类,可能还尚无分类。

  • 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++包装器。

图形客户分界面

  • 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和任何平台创制应用程序

 

多媒体
  • GStreamer :塑造媒体管理组件图形的库
  • LIVE555 Streaming Media :使用开放规范合同(RTP/RTCP, RTSP, SIP) 的多媒体流库
  • libVLC :libVLC (VLC SDK)媒体框架
  • QtAv:基于Qt和FFmpeg的多媒体播放框架,能够帮忙您轻巧地编写出三个播放器
  • SDL :轻松直控媒体层
  • SFML :快捷,轻易的多媒体库

- 9. UNIX v6

UNIX V6 的内核源代码富含设备驱动程序在内 约有1 万行,这一个数额的源代码,初学者是力所能致丰硕知晓的。有生机勃勃种说法是一人所能精通的代码量上限为1 万行,UNIX V6的内核源代码从数量上看刚刚在此个范围以内。见到此间,大家是或不是也许有“假若独有1万行的话没准儿笔者也能学会”的主见吗?

一只,近年来的操作系统,举个例子Linux 最新版的内核源代码听他们说超过了1000 万行。固然不是初读书人,想全盘驾驭全体代码基本上也是不恐怕的。

下载地址:

- 5. Libev

libev是二个开源的风浪驱动库,基于epoll,kqueue等OS提供的根底设备。其以连忙知名,它可以将IO事件,沙漏,和时域信号统一同来,统意气风发放在事件管理这风度翩翩套框架下拍卖。基于Reactor情势,功能较高,何况代码简练(4.15版本8000多行卡塔 尔(英语:State of Qatar),是上学事件驱动编制程序的很好的能源。

下载链接:

日志

  • Boost.Log :设计丰裕模块化,而且有着扩张性
  • easyloggingpp:C++日志库,只包括单生机勃勃的头文件。
  • Log4cpp :一文山会海C++类库,灵活加上日志到文件,系统日志,IDSA和别之处。
  • templog:轻量级C++库,能够拉长日志到你的C++应用程序中

 

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

XML

XML正是个污源,xml的分析很可恶,对于Computer它也是个患难。这种倒霉的东西完全未有存在的理由了。-Linus Torvalds

  • Expat :用C语言编写的xml剖判库
  • Libxml2 :Gnome的xml C深入剖析器和工具包
  • libxml++ :C++的xml解析器
  • PugiXML :用于C++的,扶助XPath的轻量级,简单高效的XML深入剖判器。
  • RapidXml :试图创立最火速的XML深入解析器,同一时候保险易用性,可移植性和创建的W3C宽容性。
  • TinyXML :简单Mini的C++XML拆解深入分析器,能够非常轻巧地合豆蔻梢头到别的体系中。
  • TinyXML2:轻易快捷的C++CML拆解剖析器,能够超级轻易集成到其它门类中。
  • TinyXML++:TinyXML的叁个全新的接口,使用了C++的不胜枚举浩大优势,模板,至极和更加好的拾壹分管理。
  • Xerces-C++ :用可移植的C++的子集编写的XML验证拆解解析器。

本文由9159.com发布于编程,转载请注明出处:Webbench使用C语言编写,使用C语言开发

关键词:

上一篇:没有了
下一篇:没有了