当前位置:首页 > 每日看点

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

卡卷网2年前 (2025-01-05)每日看点294

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

分享给朋友:

相关文章

2024,java开发,已经炸了吗?

炸的透透的了,坐标南京。 一月底,一个好哥们,双休朝九晚六不加班18K,被裁。 入职不到两年,算是工资和年终奖才赔了6.5W左右。 上周五新公司入职,周六开始加班。现在每周134加班到晚上八点,好像薪资还不如以前高。三月上旬,另一个好哥们,…

下一个风口最可能是什么?

下一个风口最可能是什么?

肯定是一带一路了,国内没什么卷的空间了,现在国家正在给一带一路的第三世界国家建设基础设施,等交通打通之后,就是通信打通,通信打通就是贸易打通,未来我建议大家重仓小语种,阿拉伯语最值得学(也有其他小语种自己去查一带一路国家),将来去其他国家随…

荣耀magic 7 首发的应该都收到货了,感觉怎么样?

8号入手magic7,跟mate40pro比。 优点:1、电池真耐用,充电块,华为电池也是新换的但是明显荣耀耐用;2、系统明显快多了,mate40pro下半年开始卡的不行,实在受不了了。3、声音、震动效果提升明显,指纹反应灵敏很多。 缺点:…

离线可否搭建 GitLab 环境?

离线可否搭建 GitLab 环境?

背景:为什么要使用GitLab CI/CD? 统一工作流程:GitLab CI/CD 为开发、测试和运维团队提供了一个统一的工作流程。开发人员提交代码后,测试人员可以清楚地看到代码的构建和测试情况,运维人员也可以了解软件的部署进度。例如,在…

为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?

开源可以垄断。 人类最高的权力不是什么国家而是意识形态,能够控制别人的思维方式。你把你的东西开源出来了,其他人就会懒于思考,在这一个思考上使用你的方式。 比如容器编排,经过了K8s后谁还会去开发那些奇奇怪怪的编排手段,直接用不就行了。形成了…

为什么说,运维是IT行业里技术含量最低的?

我是有幸从学校出来后转行进入IT运维这个行业的,有在上海这个行业幸跌爬滚打5年,目前2024年失业中......(老实说,这几年接触的人和事、有些厌烦这个行业了) 以一个过来人的角度讲讲这个岗位的心酸和无奈,也说说为什么很多人,包括各个公司…

发表评论

访客

看不清,换一张

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