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

– 1. Webbench

Webbench是多个在linux下利用的特别轻易的网址压测工具。它使用fork()模拟四个客户端同有时候做客大家设定的UEvoqueL,测试网站在压力下职业的天性,最多能够上行下效3万个冒出连接去测试网址的载荷工夫。Webbench使用C语言编写,
代码实在太简洁,源码加起来不到600行。

下载链接:

– 2. Tinyhttpd

tinyhttpd是八个超轻量型Http
Server,使用C语言开辟,全部代码唯有502行(包含注释),附带二个简易的Client,能够通过阅读这段代码精通贰个Http Server 的原形。

下载链接:

– 3. cJSON

cJSON是C语言中的多个JSON编解码器,非常轻量级,C文件只有500多行,速度也特出美妙。

cJSON也设有多少个毛病,即便功能不是老大有力,但cJSON的小身板和进程是最值得嘉许的。其代码被丰盛好地保证着,结构也简要易懂,能够看成贰个可怜好的C语言项目进行学习。

类型主页:

– 4. CMockery

cmockery是google发表的用于C单元测试的叁个轻量级的框架。它很精致,对其他开源包未有借助,对被测试代码侵入性小。cmockery的源代码行数不到3K,你读书一下will_return和mock的源代码就一望而知了。

第一特点:

  • 免费且开源,google提供手艺帮助;
  • 轻量级的框架,使测试更高效简单;
  • 防止采用复杂的编写翻译器性子,对老版本的编写翻译器来说,包容性好;
  • 并不强制供给待测代码必须依赖C99标准,这一特性对广大嵌入式系统的付出很有用

下载链接:

– 5. Libev

libev是贰个开源的事件驱动库,基于epoll,kqueue等OS提供的功底设备。其以十分的快有名,它能够将IO事件,反应计时器,和能量信号统一同来,统一放在事件处理这一套框架下拍卖。基于Reactor格局,功用较高,并且代码精简(4.15版本7000多行),是上学事件驱动编制程序的很好的能源。

下载链接:

– 6. Memcached

Memcached
是贰个高质量的布满式内部存款和储蓄器对象缓存系统,用于动态Web应用以缓慢消除数据库负载。它经过在内存中缓存数据和对象来收缩读取数据库的次数,从而提供动态数据库驱动网址的速度。Memcached
基于叁个存款和储蓄键/值对的
hashmap。Memcached-1.4.7的代码量还可以接受的,唯有10K行左右。

下载地址:

– 7. Lua

Lua很棒,Lua是巴西人发明的,那么些都令小编不爽,可是还不至于脸红,最多眼红。

让自个儿脸红的是Lua的源代码,百分之一百的ANSI
C,一点都不掺杂。在其它援救ANSI
C编写翻译器的阳台上都能够轻松编写翻译通过。小编试过,真是一点废话都尚未。Lua的代码数量丰硕小,5.1.4唯有1.5W行,去掉空白行和注释估计能到1W行。

下载地址:

– 8. SQLite

SQLite是叁个开源的嵌入式关周详据库,完成自包容、零配置、援救专门的学业的SQL数据库引擎。
其个性是莫斯中国科学技术大学学便携、使用方便、结构紧密、高效、可信。丰硕小,大约3万行C代码,250K。

下载地址: 。

– 9. UNIX v6

UNIX V6 的内核源代码包括设备驱动程序在内 约有1
万行,那个数指标源代码,初学者是力所能致丰硕领会的。有一种说法是壹位所能掌握的代码量上限为1
万行,UNIX
V6的内核源代码从数额上看刚刚在那些界定以内。看到此间,大家是还是不是也可以有“假设唯有1万行的话没准儿作者也能学会”的想法啊?

一派,近些日子的操作系统,比如Linux 最新版的内核源代码听新闻说超越了一千万行。固然不是初学者,想全盘通晓全体代码基本上也是不容许的。

下载地址:

– 10. NETBSD

NetBSD是贰个无需付费的,具有高度移植性的 UNIX-like
操作系统,是当今可移植平台最多的操作系统,能够在重重九台上举行,从 64bit
阿尔法 服务器到手持设备和嵌入式设备。NetBSD安排的口号是:”Of course it
runs
NetBSD”。它安排简洁,代码标准,具有非常多先进本性,使得它在产业界和知识界广受好评。由于简洁的规划和进取的天性,使得它在生育和钻研方面,都有一级的突显,而且它也可以有受使用者辅助的总体的源代码。好些个程序都能够很轻易地经过NetBSD
Packages Collection获得。

下载地址:

C++ 能源大全

关于 C++
框架、库和能源的一部分聚齐列表,内容包蕴:典型库、Web应用框架、人造智能、数据库、图片管理、机器学习、日志、代码剖析等。

 

标准库

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++科技(science and technology)陈设的通用的跨平台的C++库。
  • EASTL :EA-STL公共部分
  • ffead-cpp :公司应用程序支付框架
  • Folly:由脸谱开荒和动用的开源C++库
  • JUCE :一应俱全的C++类库,用于开拓跨平台软件
  • libPhenom:用于创设高质量和冲天可扩充性系统的风云框架。
  • LibSourcey :用于实时的录制流和高品质互连网应用程序的C++11
    evented IO
  • LibU : C语言写的多平台工具库
  • Loki :C++库的安排,包涵广大的设计格局和习语的完结。
  • MiLi :只含头文件的MiniC++库
  • openFrameworks :开辟C++工具包,用于创新意识性编码。
  • Qt :跨平台的应用程序和用户分界面框架
  • Reason :跨平台的框架,使开采者能够更便于地采用Java,.Net和Python,同有的时候间也满足了他们对C++品质和优势的需要。
  • ROOT凯旋门074网址 , :具有全部功效的一多元面向对象的框架,能够充足快速地拍卖和深入分析大气的多少,为南美洲原子能商讨部门所用。
  • 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 :速龙线程构件块
  • Libclsph:基于OpenCL的GPU加速SPH流体仿真库
  • OpenCL :并行编制程序的异构系统的开放标准
  • OpenMP:OpenMP API
  • Thrust :类似于C++规范模板库的并行算法库
  • HPX :用于其余规模的相互和分布式应用程序的通用C++运维时系统
  • VexCL :用于OpenCL/CUDA
    的C++向量表明式模板库。

 

容器

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

 

密码学

  • Bcrypt :一个跨平台的文书加密工具,加密文书能够移植到具备可协助的操作系统和Computer中。
  • BeeCrypt:
  • Botan: C++加密库
  • Crypto++:八个有关加密方案的无需付费的C++库
  • GnuPG: OpenPGP标准的完整兑现
  • GnuTLS :达成了SSL,TLS和DTLS协议的安全通讯库
  • Libgcrypt
  • libmcrypt
  • LibreSSL:无偿的SSL/TLS协议,属于2015OpenSSL的三个分支
  • 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:来自推特(Twitter)的嵌入键值的飞速积攒
  • SQLite:多少个截然嵌入式的,作用齐全的关周到据库,唯有几百KB,能够准确包括到你的品类中。

 

调试

调试库, 内部存储器和能源败露检测,单元测试

  • 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++单元测试框架

Webbench使用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 库
  • Webbench使用C语言编写。ITK:跨平台的开源图像深入分析体系
  • Magick++:ImageMagick程序的C++接口
  • MagickWnd:ImageMagick程序的C++接口
  • OpenCV : 开源Computer视觉类库
  • tesseract-ocr:OCR引擎
  • VIGRA :用于图像分析通用C++Computer视觉库
  • VTK :用于3DComputer图形学,图像管理和可视化的开源免费软件系统。

 

国际化

  • gettext :GNU `gettext’
  • IBM ICU:提供Unicode
    和全世界化帮助的C、C++ 和Java库
  • libiconv :用于不一样字符编码之间的编码转变库

 

Jason

  • frozenWebbench使用C语言编写。 :
    C/C++的Jason剖判生成器
  • Jansson :实行编解码和处理Jason数据的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解析库

 

日志

  • Boost.Log :设计丰裕模块化,并且有着扩张性
  • easyloggingpp:C++日志库,只包涵单一的头文件。
  • Log4cpp :一多元C++类库,灵活加上日志到文件,系统日志,IDSA和其余地点。
  • templog:轻量级C++库,能够加上日志到您的C++应用程序中

 

机械学习

  • Caffe :快速的神经网络框架
  • CCV :以C语言为基本的今世Computer视觉库
  • mlpack :可增添的C++机器学习库
  • OpenCV:开源Computer视觉库
  • Recommender:使用协同过滤进行产品推荐/提议的C语言库。
  • SHOGUN:Shogun
    机器学习工具
  • sofia-ml :用于机器学习的高速增量算法套件

 

数学

  • Armadillo :高素质的C++线性代数库,速度和易用性做到了很好的平衡。语法和MatlAB很一般
  • blaze:高质量的C++数学库,用于密集和疏弃算法。
  • ceres-solver :来自Google的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_skeletonWebbench使用C语言编写。 :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 :用于配置文件和基本应用程序脚本的Mini快捷脚本引擎。
  • luacxx:用于成立Lua绑定的C++ 11
    API
  • SWIG :三个足以让你的C++代码链接到JavaScript,Perl,PHP,Python,Tcl和Ruby的包装器/接口生成器
  • V7:嵌入式的JavaScript 引擎。
  • V8 :Google的登时JavaScript引擎,可以被放到到其它C++应用程序中。

 

序列化

  • 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#和其它多样语言中,最初由Instagram开荒。

 

视频

  • 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 :简单Mini的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 :由AMD集团开销
  • 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’
    英特尔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的凭仗你敲的代码急速模糊寻找并进行代码补全的汽油发动机。

 

营造系统

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

相关文章