你好,我是小金。周末收集整理了一些不错的 C 语言开源项目,分享一下!
SQLite
SQLite 是一款轻型的数据库,是遵守 ACID 的关系型数据库管理系统,它包含在一个相对小的 C 库中。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低。
SQLite 是在 2000 年发布的,到目前为止已经有 21 年了。
像大家现在使用的微信,它本地就是通过 SQLite 来存储的数据。
注意:微信本身的服务器就不能使用 SQLite,毕竟,并发量太大,SQLite 没办法满足。
SQLite 的作者是 D. Richard Hipp(理查德希普),作者非常的有个性,用到的软件工具都是自己写,他写了不少工具,比如 SQLite、Bug 追踪系统 CVSTrac、版本管理系统 Fossil。
项目地址:https://sqlite.org/src/doc/trunk/README.md
相关阅读:微信为什么使用 SQLite 保存聊天记录?
althttpd
SQLite 作者最新开源的 Web 服务器 althttpd,我们可以先来看下这个项目的时间线。
可以看出来开源工作是最近才开始的,但是实际上 althttpd 从 2004 年开始就在支撑 https://sqlite.org/ 网站的运行,althttpd 的设计目标就是为了简单、安全同时低资源消耗。
在 2018 年,http://sqlite.org 每天要响应 50 万的 HTTP 请求,而只用了价值 40 美金的服务器,而且服务器处于很低的负载(0.1 或者 0.2),可以看出其性能还是不错的。
我们来看下 althttpd 的代码,项目实际只有一个 c 文件,整体行数也不多,是一个非常不错的学习项目。
而且项目中有一个介绍文件 althttpd.md
,详细介绍了 althttpd 的设计哲学、项目使用说明等。
从 althttpd 的设计哲学可以看出来,作者是一个很克制的人,并不是希望去做一个功能非常丰富的 Web 服务器,而是希望 althttpd 在满足功能要求的前提下,能够尽量保持代码的简洁,这是非常值得我们学习的。
更多项目详情请查看如下链接。
项目地址:https://sqlite.org/althttpd/doc/trunk/althttpd.md
相关阅读:SQLite 作者最新开源力作!只有一个C文件的 Web 服务器!!
TDengine
TDengine 是一款高性能、分布式、支持 SQL 的时序数据库。而且除时序数据库功能外,它还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的复杂度,且核心代码,包括集群功能全部开源(开源协议,AGPL v3.0)。
• Gitee地址:https://gitee.com/taosdata/TDengine
• Github 地址:https://github.com/taosdata/TDengine
• 官网:https://www.taosdata.com
rt-thread
RT-Thread 是一个来自中国的开源物联网操作系统,它提供了非常强的可伸缩能力:从一个可以运行在 ARM Cortex-M0 芯片上的极小内核,到中等的 ARM Cortex-M3/4/7 系统,甚至是运行于 MIPS32、ARM Cortex-A 系列处理器上功能丰富系统
项目地址:https://gitee.com/rtthread/rt-thread
Tinyhttpd
Tinyhttpd 是一个超轻量型 Http Server,使用 C 语言开发,全部代码只有 502 行 (包括注释),附带一个简单的 Client,可以通过阅读这段代码理解一个 Http Server 的本质。
项目地址:https://github.com/LippiOuYang/Tinyhttpd
cJSON
cJSON 是一个 JSON 编解码器,非常轻量级,C 文件只有 500 多行,速度也非常理想。cJSON 也存在几个弱点,虽然功能不是非常强大,但 cJSON 的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的 C 语言项目进行学习。
项目地址:https://github.com/DaveGamble/cJSON
Redis
Redis 是一个使用 C 语言写成的,开源的 key-value 数据库。Redis 支持的操作和数据类型比 Memcached 要多,现在主要用于缓存,支持主从同步机制.
项目地址:https://redis.io/
dperf
dperf是世界领先的网络压力测试仪,代码8K左右,对学习TCP/IP,DPDK都有帮助,上周通过了Linux基金会评审,已经是DPDK生态项目。
项目地址:https://github.com/baidu/dperf
相关阅读:千万级 CPS 的开源网络压测软件 dperf 开源了!!!
Seafile
Seafile 是一款安全、高性能的开源网盘(云存储)软件。Seafile 提供了主流网盘(云盘)产品所具有的功能,包括文件同步、文件共享等。在此基础上,Seafile 还提供了高级的安全保护功能以及群组协作功能。
由于 Seafile 是开源的,你可以把它部署在私有云的环境中,作为私有的企业网盘。Seafile 支持 Mac、Linux、Windows 三个桌面平台,支持 Android 和 iOS 两个移动平台。
项目地址: https://github.com/haiwen/seafile
相关阅读:替换百度云!这款开源网盘颜值更高功能更全面!
推荐
• Github 掘金计划 :历史优质原创文章汇总!
• 程序人生:编程经历、英语学习、延寿指南。
• 神器工具 : 一些好用的插件、软件、网站。
• 编程基础 :精选编程基础如学习路线、编程语言相关的开源项目。
• 计算机基础:精选计算机基础(操作系统、计算机网络、算法、数据结构)相关的开源项目。
• 技术面试 :精选技术面试相关的开源项目。
• 项目实战 :精选实战类型的开源项目。
用心发掘 Github 和 Gitee 上优质的开源项目。
欢迎关注!欢迎点赞分享!