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

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

卡卷网9个月前 (01-05)每日看点143

推荐几十个吧,这里整理了一些高质量现代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

分享给朋友:

相关文章

有什么音乐软件可以全部免费下载歌曲?

有什么音乐软件可以全部免费下载歌曲?

作为音乐发烧友,我几乎把市面上所有的发烧碟、试音碟,全都给收藏,下载下来了!音质都是无损的,品质特别高,有5.1环绕的、有DTS的、有中文的、有英文的。大家可以看看这个音乐目录,大概有30万张专辑。有需要下载软件的朋友,可以双击屏幕,然后搓...

都是前端框架,为什么用 React 的人会有优越感?

都是前端框架,为什么用 React 的人会有优越感?

上家公司一直搞react,最近第一次写个vue3项目。老板朋友来了看了下页面说:这用vue写的吧。我:是...老板朋友:一看就知道是vue做的。这tm你看一眼页面就知道用的啥框架?这感觉就是,我一直用苹果,偶尔用了下华为打电话,有个人离老远...

如何看待 Luv Letter 表示影视飓风专业性实在是让人失望?

一点儿新进展,另外以下有部分需要关注对于统一变量的问题。这个我在对比上面有写小字解释,我在一开始使用ffmpeg来控制变量。但是发现了不少问题,比如因为遗留bug,会强制将非整数帧的素材转码为VFR导致无法正确帧间对比,因此不考虑,同时尽量...

自己拥有一台服务器可以做哪些很酷的事情?

自己拥有一台服务器可以做哪些很酷的事情?

我就有一台,跑了两年了,ipv6 ddns 网络,加虚拟化平台.跑了个 winserver 和 ubuntu 服务器。稳的雅皮!拆掉后盖,散热更好。烟盒固定硬盘。键盘防止灰尘掉落。电池拆掉,屏幕拆掉,也是散热考虑。屏幕拿去做便携副屏了。换...

阿里云服务器续费价格好贵,想换一家云服务厂商,该怎么选择?

阿里云服务器续费价格好贵,想换一家云服务厂商,该怎么选择?

最近一台买了3年时间的腾讯云轻量服务器到期了,还有5天时间。当时买的价格是3年198元。配置是2核CPU、4GB内存,80GB SSD云硬盘,1200GB 流量包,然后中途给免费升级了CPU,从2核变成了4核。平均下来一年的费用70元不到,...

华为纯血鸿蒙,从此天下三分了吗?

华为纯血鸿蒙,从此天下三分了吗?

万众期待的纯血版 HarmonyOS NEXT 终于是端上来了,主打一个自研,从里到外,从内核到架构,都是自研。用户的激情已经被点燃,可见大家对于纯血鸿蒙的期待,但是鸿蒙系统能不能真正与安卓、iOS三分天下呢?目前来说,还为时过早。iOS和...

发表评论

访客

看不清,换一张

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