推荐几十个吧,这里整理了一些高质量现代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/godotctpl: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++优质内容
你 发表评论:
欢迎