值得学习的C++项目开源(转)

Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写,代码实在太简洁,源码加起来不到600行。

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

cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。

cmockery是google发布的用于C单元测试的一个轻量级的框架。它很小巧,对其他开源包没有依赖,对被测试代码侵入性小。cmockery的源代码行数不到3K,你阅读一下will_return和mock的源代码就一目了然了。

主要特点:

libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。

Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。Memcached-1.4.7的代码量还是可以接受的,只有10K行左右。

Lua很棒,Lua是巴西人发明的,这些都令我不爽,但是还不至于脸红,最多眼红。

让我脸红的是Lua的源代码,百分之一百的ANSIC,一点都不掺杂。在任何支持ANSIC编译器的平台上都可以轻松编译通过。我试过,真是一点废话都没有。Lua的代码数量足够小,5.1.4仅仅1.5W行,去掉空白行和注释估计能到1W行。

SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。其特点是高度便携、使用方便、结构紧凑、高效、可靠。足够小,大致3万行C代码,250K。

UNIXV6的内核源代码包括设备驱动程序在内约有1万行,这个数量的源代码,初学者是能够充分理解的。有一种说法是一个人所能理解的代码量上限为1万行,UNIXV6的内核源代码从数量上看正好在这个范围之内。看到这里,大家是不是也有“如果只有1万行的话没准儿我也能学会”的想法呢?

另一方面,最近的操作系统,例如Linux最新版的内核源代码据说超过了1000万行。就算不是初学者,想完全理解全部代码基本上也是不可能的。

NetBSD是一个免费的,具有高度移植性的UNIX-like操作系统,是现行可移植平台最多的操作系统,可以在许多平台上执行,从64bitalpha服务器到手持设备和嵌入式设备。NetBSD计划的口号是:”OfcourseitrunsNetBSD”。它设计简洁,代码规范,拥有众多先进特性,使得它在业界和学术界广受好评。由于简洁的设计和先进的特征,使得它在生产和研究方面,都有卓越的表现,而且它也有受使用者支持的完整的源代码。许多程序都可以很容易地通过NetBSDPackagesCollection获得。

关于C++框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。

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

C++通用框架和库

FMOD:易于使用的跨平台的音频引擎和音频内容的游戏创作工具。Maximilian:C++音频和音乐数字信号处理库OpenAL:开源音频库—跨平台的音频APIOpus:一个完全开放的,免版税的,高度通用的音频编解码器Speex:免费编解码器,为Opus所废弃Tonic:C++易用和高效的音频合成Vorbis:OggVorbis是一种完全开放的,非专有的,免版税的通用压缩音频格式。生态学生物信息,基因组学和生物技术

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归档的读权限。并发性并发执行和多线程

hiberlite:用于Sqlite3的C++对象关系映射Hiredis:用于Redis数据库的很简单的C客户端库LevelDB:快速键值存储库LMDB:符合数据库四大基本元素的嵌入键值存储MySQL++:封装了MySql的CAPI的C++包装器RocksDB:来自Facebook的嵌入键值的快速存储SQLite:一个完全嵌入式的,功能齐全的关系数据库,只有几百KB,可以正确包含到你的项目中。调试调试库,内存和资源泄露检测,单元测试

Expat:用C语言编写的xml解析库Libxml2:Gnome的xmlC解析器和工具包libxml++:C++的xml解析器PugiXML:用于C++的,支持XPath的轻量级,简单快速的XML解析器。RapidXml:试图创建最快速的XML解析器,同时保持易用性,可移植性和合理的W3C兼容性。TinyXML:简单小型的C++XML解析器,可以很容易地集成到其它项目中。TinyXML2:简单快速的C++CML解析器,可以很容易集成到其它项目中。TinyXML++:TinyXML的一个全新的接口,使用了C++的许多许多优势,模板,异常和更好的异常处理。Xerces-C++:用可移植的C++的子集编写的XML验证解析器。多项混杂一些有用的库或者工具,但是不适合上面的分类,或者还没有分类。

C/C++编译器列表

Clang:由苹果公司开发的GCC:GNU编译器集合IntelC++Compiler:由英特尔公司开发LLVM:模块化和可重用编译器和工具链技术的集合MicrosoftVisualC++:MSVC,由微软公司开发OpenWatCom:Watcom,C,C++和Fortran交叉编译器和工具TCC:轻量级的C语言编译器在线编译器在线C/C++编译器列表

codepad:在线编译器/解释器,一个简单的协作工具CodeTwist:一个简单的在线编译器/解释器,你可以粘贴的C,C++或者Java代码,在线执行并查看结果coliru:在线编译器/shell,支持各种C++编译器CompilerExplorer:交互式编译器,可以进行汇编输出CompileOnline:Linux上在线编译和执行C++程序Ideone:一个在线编译器和调试工具,允许你在线编译源代码并执行,支持60多种编程语言。调试器C/C++调试器列表

Comparisonofdebuggers:来自维基百科的调试器列表GDB:GNU调试器Valgrind:内存调试,内存泄露检测,性能分析工具。集成开发环境(IDE)C/C++集成开发环境列表

Cppcheck:静态C/C++代码分析工具include-what-you-use:使用clang进行代码分析的工具,可以#include在C和C++文件中。OCLint:用于C,C++和Objective-C的静态源代码分析工具,用于提高质量,减少瑕疵。ClangStaticAnalyzer:查找C,C++和Objective-C程序bug的源代码分析工具Listoftoolsforstaticcodeanalysis:来自维基百科的静态代码分析工具列表

THE END
1.ICO图标制作ICO图片在线生成轻松制作ico图标,在线提供ico图标转换工具,可以将jpg、jpeg、gif、png等图像转换成ico图像,方便浏览器制作并生成favicon.ico图标,提供ico图标下载。https://ico.elespaces.com/
2.ICO图片格式在线转换器,工具介绍与使用指南源晟办公ICO图片格式转换器在线是一款基于互联网的图片格式转换工具,用户无需安装任何软件,只需通过在线浏览器即可轻松完成ICO格式的转换,这款工具支持多种输入格式,如PNG、JPG、GIF等,可以转换为ICO格式,同时也支持将ICO格式转换为其他常见图片格式,其特点在于操作简单、转换速度快、兼容性强。 http://www.zzysbg.com/post/20364.html
3.图片转ICO工具这就是一个图片转ICO的工具,方便快捷绿色,而且它会根据目标场景自动选择适合的尺寸。 程序会根据输入图片的尺寸生成多个不同尺寸的图标(从 16×16 到 256×256),但是保存的只有1个图标文件,但是这一个文件却包含了这几个大小尺寸版本同时的同时存在 自动选择尺寸:当你在不同的场景中使用该 ICO 文件时(比如桌面https://www.itly.com.cn/3083.html
4.实用在线工具网站分享http://base64.wjccx.com/ 七、CRC(循环冗余校验)在线计算: http://www.ip33.com/crc.html 八、rgb颜色在线转换: https://www.sioe.cn/yingyong/yanse-rgb-16/ 九、在线高级计算器: https://www.zxjsq.net/index.html 九、md5加密: https://md5jiami.bmcx.com/https://blog.csdn.net/linyibin_123/article/details/131790804
5.工业设计字体转换器字体转换器字体分类发现字体发现“工业设计字体转换器”分类,求字体网(www.qiuziti.com)是一个专注于字体识别、发现与下载的字体网站。http://www.qiuziti.com/fontlist2?id=873283
6.converticon(ico/png转换)在线版Convert any image file to .ico file for website favicon production. Formats: PNG,JPG,HEIC, BMP, WEBPhttps://converticon.com/
7..ico在线转换可以一张图片转换成多种尺寸放在一个.ico里面https://icoconvert.com/https://www.cnblogs.com/liujx2019/p/14298625.html
8.精品软件100个57.浩方对战平台LoaderV4.77 (完美免踢、直接关闭窗口) 绿色版 58.SineGen(实时的声波生成器软件)V2.1 绿色版 59.局域网间支持断点续传复制文件(netcopy)绿色版 60.ICO精灵(ico图标的提取和批量转化)V2.0 绿色版 61.RealTime 1.50 校正时钟软件 汉化绿色版 https://www.wang1314.com/doc/topic-68682-1.html
9.Convertio—文件转换器Convertio - 在线转换文件的简单工具。支持超过309种不同的文档、图像、电子表格、电子书、文档、演示文稿、音频和视频格式。https://www.convertio.co/
10.iconfonticonfont-国内功能很强大且图标内容很丰富的矢量图标库,提供矢量图标下载、在线存储、格式转换等功能。阿里巴巴体验团队倾力打造,设计和前端开发的便捷工具https://www.iconfont.cn/
11.IconCreator本地批量生成多尺寸ico图标/icns本地批量制作生成ico图标(离线),支持透明背景,用于制作网站favicon、软件/App的Logo转ico/icns图标。平时写软件工具每次都要转换Logo图标生成ico格式作为程序icon,嫌网上在线转换麻烦,所以写这个小工具用,一键生成,一次性完工,节约时间。 图:IconCreator 软件界面图 https://www.gznotes.com/manual/IconCreator/
12.png国内最全类型的在线文件转换平台,免费、快速,无须下载安装任何软件。 亲,别问了,本平台确实是用起飞页建站平台生成的,没错,只花了5天。所以是免费的。 标题 在线将png格式转换为gif格式 png转gif在线 | png转gif工具 您可以直接把文件拖到这里来,最大不能超过20M。 https://www.alltoall.net/png_gif/
13.全网首发,4万字Instagram从0到1流量变现实操手册行动号召:按钮链接的是和Ins有合作的第三方公司平台,用户在不离开Ins应用程序的情况下进行预订、购票、开始订购或预订产品。 如下图,我在Acuity Scheduling上注册了个账号并设定了服务时间,在Ins账号上完成绑定后,“立即预约”的按钮会出现在首页,用户点击按钮就可以预约时间进行服务。 https://www.360doc.cn/article/74163855_1125552299.html
14.跨平台C++开发:10年Qt开发经验覆盖100多个Qt开发技巧!111. 在不同的平台上文件路径的斜杠也是不一样的,比如linux系统一般都是 / 斜杠,而在windows上都是 \\ 两个反斜杠,Qt本身程序内部无论在win还是linux都支持 / 斜杠的路径,但是一些第三方库的话可能需要转换成对应系统的路径,这就需要用到斜杠转换,Qt当然内置类方法。 https://www.evget.com/article/2020/11/12/39123.html
15.OSCHINA进制转换器 精彩评论 59s 后自动更新 所以说你没见识,别人提供平台渠道,还帮你导量赚钱,为啥要让你赚得比他们还多?如果你能改变这种现状再来说大话吧(你要是能改变就如腾讯改变苹果在中国的抽成,利己利人),我们研发的游戏在美tuan平台被抽成75%,所以我说50%算少的,苹果提供平台,又没给你导量,哪怕抽成是https://www.oschina.net/
16.favicon制作解密二维码地图坐标转换 搜索历史清空 关键词 472025 排行榜 我的 工具 文库 码库 软件 网址 话题 商店 反馈 首页话题文库我的 更多 商店 码库 Wiki 软件 网址 工具?图像类? favicon在线制作 favicon在线制作 选择图片Clear 16 × 1632 × 3248 × 4864 × 64128https://tool.lu/favicon/
17.20092018:中国互联网十年百大事件刘兴亮的财新博客合并后的公司称,优酷土豆股份有限公司。合并后的优酷土豆将拥有最庞大的用户群体、最多元化的视频内容、最成熟的视频技术平台和最强大的收入转换能力,并将带给用户最高质量的视频体验。2012年8月20日,优酷土豆股合并方案获批准通过,公司正式成立。 ▎5.电商价格战https://liuxingliang.blog.caixin.com/archives/195001
18.pdf转换器五个免费的pdf转换器哪个pdf转换器是免费的人们相信PDF转换器已被许多人使用。我们通常希望将PDF文件转换为文档格式,如Doc、PPT、TXT等,然后进行自己的修https://www.duote.com/zt/soft200/
19.在线功率换算器,功率单位换算在线功率换算器工具为您提供功率在线计算,任意功率单位之间可以直接转换,在线瓦(W)转千瓦(kW),功率换算电流,英制马力(HP)转米制马力(PS),千卡/秒(kcal/s),焦耳/秒(J/s),牛顿·米/秒(N·m/s)间的换算,在线功率换算器可以帮您快速进行功率计算http://www.sailtool.com/calcpower/
20.Apache2UbuntuDefaultPage:ItworksThis is the default welcome page used to test the correct operation of the Apache2 server after installation on Ubuntu systems. It is based on the equivalent page on Debian, from which the Ubuntu Apache packaging is derived. If you can read this page, it means that the Apache HTTP serverhttp://vb.net/
21.即时工具致力开发即用即走型在线工具,无需客户端在线一键使用。拥有视频工具、音频工具、图片工具、 PDF工具、办公辅助、设计工具、文本工具、数字工具、加密工具、单位转换等等工具。同时拥有良好的用户体验,为您的工作学习提升效率!https://www.67tool.com/
22.微博随时随地发现新鲜事!微博带你欣赏世界上每一个精彩瞬间,了解每一个幕后故事。分享你想表达的,让全世界都能听到你的心声!https://weibo.com/
23.字加网找字体来字加专业的字体获取和字体设计交流平台字体设计网-为字体设计者提供字体设计展示平台,让字体设计作品被商业用户发现并应用.并提供免费字体下载和字体在线生成,字体在线转换下载,为字体设计师提供有效传播和服务,设计网络首选品牌 千图网-免费设计图片素材网站-正版商用图库免费设计素材中国 千图网(www.58pic.com) 是专注正版商用图片设计素材下载的网站!提供矢https://nav.dreamthere.cn/site/index/4379915