当前位置:首页 > 每日看点 > 正文内容

求推荐高质量的c++开源项目?

卡卷网1年前 (2025-01-05)每日看点208

推荐几十个吧,这里整理了一些高质量现代C++风格的开源仓库:

    args:s://githu/Taywee/args-命令行参数解析库,代码行数800左右cereal:s://githu/USCiLa/cereal-快速、小巧、方便的二进制JSON序列化库,代码行数4000左右。SQLiteCpp:s://githu/SRomauts/SQLiteCpp-简单易用的SqliteC++封装库,我目前项目中就是使用的这个库,很好用,代码行数2,500左右。fmt:s://githu/fmtli/fmt-现代、安全且快速的C++20format库,代码行数3000左右,最近我就在看这个。spdlog:s://githu/gaime/spdlog
      现在最热门的C++志库,支持多种输出格式和级别,有headeronly和compilesoce两种模式,源码还简单易学,关注我,后面我出一期spdlog的源码分析文章。
    <>aseil:s://githu/aseil/aseil-cpp
      <>Google内部的C++轮子库,各种基础能力都包含,值得学习。aseil还有个:s://aseil.io/
    <>folly:GitHu-faceook/folly:Anopen-soceC++lirarydevelopedandusedatFaceook.
      Faceook内部的轮子库,线程池、内存池、异步IO、executor等,应有尽有。
    lizippp:s://githu/ctain/lizippp-基于zli和lizip的跨平台封装,代码行数2000左右。cista:s://githu/felixguendling/cista-headeronly的序列化-反射库,代码行数1500左右。sqlite_orm:s://githu/fnc12/sqlite_orm-Sqlite的C++ORM封装,代码行数3000左右。chromium:s://githu/chromium/chromiumgoogle浏览器源码仓库,包括edge等很多浏览器和应用都会基于chromium二次开发,阅读它的代码后,也改变了我的部分编程习惯。<>fmtli:s://githu/fmtli/fmt
      <>现代化、快速的C++格式化库,方便易用的API且高效,不使用C++20可以使用这个库做format。
    godotengine:s://githu/godotengine/godot
      看到挺多朋友这个仓库代码质量高
    ctpl:s://githu/vit-vit/ctpl-简易的C++线程池,代码行数看了下,约为500左右。

<>这几个都是现代C++风格的高质量开源代码仓库,值得学习和使用,个人更喜欢folly多一些,spdlog也强烈推荐。

再推荐15个小巧的C语言开源项目:

    <>st:简单的C库,C语言的轮子库,提供了很多实用的工具函数和数据结构。代码行数5000行左右,star数21.5k。picoparser:一个小型的解析器,适用于C语言。代码行数500行左右,star数1.6k。log.c:一个小型的志库,支持多种志级别和输出格式。代码行数200行左右,star数1.8k。sokol:一个跨平台的轻量级图形API,可以方便地创建OpenGL和Metal应用程序。代码行数上万了,star数4.4k。kilo:一个小巧的文本编辑器,可以在终端中运行,并且支持基本的编辑作。代码行数1000行左右,star数5.9k。<>liuv:一个跨平台异步I/O库,常用于Node.js的底层实现。这个库很火。代码行数过万,但是还是推荐,值得学习,star数21.2k。inih:一个小型的INI配置文件解析器,可以用于读取和修改INI文件格式的配置文件。代码行数800行左右,star数2k。nanop:一个小型的Protocoluf库,适用于嵌入式设备和内存受限环境。代码行数5000左右,star数3.4k。miniz:一个小型的ZIP文件压缩和解压库,可以在内存中处理数据。代码行数1600行左右,star数1.7k。linenoise:一个小型的readline替代品,可以用于终端程序的交互式输入,Redis和MongoD中都有使用。代码行数850左右,star数3.2k。picotcp:一个小型的TCP/IP协议栈。代码行数4000行左右,star数995。zlog:一个小型的纯C志库,高性能,多线程。代码行数2000行左右,star数1.8k。limill:一个小型的Go风格协程库,提供了高效的并发编程模型。代码行数3000行左右,star数2.6k。uthash:一个小型的哈希表实现库,可以用于C语言中的任何类型。代码行数1200行左右,star数3.4k。<>cJSON:一个小型的JSON解析器和生成器,可以用于C语言中处理JSON数据,估计C语言开发很多人都会用这个Json库。代码行数1500行左右,star数8.6k。

请注意,上述提到的代码行数仅为粗略估计(粗略看了下),可能不是完全准确。而关于star数量,是在我最近检查时所观察到的数量。

<>你也可以直接上这个上找各种开源仓库,这里收录了很多,强烈推荐:

C++知识库|收录各种各样的C++优质内容

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/6403.html

分享给朋友:

相关文章

如果我们没有自己的手机操作系统,会出现所谓的“卡脖子”“安全”问题吗?

如果我们没有自己的手机操作系统,会出现所谓的“卡脖子”“安全”问题吗?

前段时间某某高管在微博发文表示:“其实我觉得,中国人需要的不是一个自己的手机os,而是一个全国产的微信,再搭配一些辅助功能。”这算是“安卓开源”开源的代表了吧。然而打脸来的如此之快,10月30日消息,在Linux内核疑似大规...

为什么说不懂电脑的不要碰AMD?

作为一个资深垃圾佬,说缺点前,先说优点吧AMD CPU(后续简称AU)的优点:处理器对比Intel,三级缓存更大,最明显的感知就是,网游帧数更高(5900X,7900X之类高端型号都是双CCX共享大缓存,反而不如次一点的CPU帧数更高);相...

鸿蒙到底是不是安卓套壳?

鸿蒙到底是不是安卓套壳?

把它是不是套壳先放在一边吧。我讲一个事情,大家自己判断。华为有一个应用,叫手机管家。这个手机管家对一些系统底层设置有影响:比如华为从 EMUI 9 开始不允许将第三方启动器设置为默认启动器,依靠的就是这个手机管家。为什么这么说呢?在网上搜索...

大家都是怎么把自己的粉丝增加到1000的呢?

大家都是怎么把自己的粉丝增加到1000的呢?

截至2024年10月30日,关注者总数1137人,用时80天,增速约14人/天。2024年10月30日数据2024年8月10日开始创作,连续一周,1个关注者都没有。创作第7天,得到第一个关注,7天时间,写了8篇回答。当天得到关注,激动的心情...

无意中发现技术主管写的代码,大家帮忙看看什么水平?

无意中发现技术主管写的代码,大家帮忙看看什么水平?

虽然很多答主用了诸如“典范级”、“心旷神怡” 的形容, 赞美这段代码, 但这里, 出于技术讨论的动机, 我说说不同看法.栈, 如果善于利用栈来处理树结构, 那么可以写出更简洁的代码, 根本不需要 recuresiveFn 这种方法. 泛型,...

有哪些让你目瞪口呆的 Bug ?

有哪些让你目瞪口呆的 Bug ?

成都有个监狱情况比较特殊,关押的基本全是重犯,而且还都是经济犯和政治犯,他们以前都是一方大佬,在自己的一亩三分地翻手为云覆手为雨,无非是不小心中箭落马或帮老大顶锅才进监狱,所以即使进来了,他们依然保持着体面和骄傲,依从性差,虽然不至于和监狱...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。