推荐一些嵌入式、C C++的开源库和项目_嵌入式开发高效第三方库(3)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

【C语言开源库】在CLion上使用一个轻量的适合嵌入式系统的环形缓冲库ring buffer 和C语言Unity单元测试框架

【C语言开源库】 一个只有500行代码的开源http服务器:Tinyhttpd

【C++开源库】Windows和linux下好用的串口通讯API库

很多其实都是浅尝辄止,但阅读使用这些开源库可以让我们学习优秀的编码习惯和编码方式,可以为我们用代码实现需求积累武器库。


推荐一些嵌入式、C/C++的开源库和项目

本人最近在学习数据结构的课程,在过程中发现用C语言来实现各种数据结构类型的时候很难做到真正意义上的通用的数据结构,于是在网上搜罗了一些所谓的C语言通用数据结构库,在此也将这些数据结构库一一罗列,方便大家查找和使用。C语言没有像C++那样的STL库,语言本身并不是一种真正意义上的高级语言,实现项目中真正用到的算法中的C语言的数据结构也很少,要么是按照自己的需求来实现,要么一般都用C++来完成大型的项目工程,C++有现成的库来开发,可以缩短工程的时间和提高效率。但是C语言仍然保持在编程语言占有率的前列,这其实依赖于在底层系统级开发应用中扮演着不可替代的作用。最新的开发者编程语言的情况可以查看这篇文章:

http://www.infoq.com/cn/articles/stack-overflow-report

比较大型的C语言通用数据结构的库有(数据结构只是其中的一小部分):

Gnulib - The GNUPortability Library相关的链接:



http://www.gnu.org/software/gnulib/


2.ApachePortable Runtime (APR) project相关的链接:


http://apr.apache.org/


3. Glib相关链接: https://developer.gnome.org/glib/unstable/


下面是一些相对比较小的C语言数据结构和算法的库


4. SGLIB - A Simple Generic Library for C 相关链接:http://sglib.sourceforge.net/
5. libcstl-2.3.0相关链接:http://libcstl.org/
6. GDSL - The Generic Data Structures Library 相关链接:


http://home.gna.org/gdsl/


7. BSD Library 相关链接:


http://www.manpagez.com/man/3/queue/ 这类数据结构通常封装在系统级的内核目录下,比如:sys/queue.h等。


#### 1、OS


鸿蒙OS:一款面向全场景的开源分布式操作系统。


RT-Thread:一款小而美的物联网操作系统。


TencentOS tiny:一款面向物联网领域开发的实时操作系统。


freertos:一个轻量级的操作系统。


µC/OS :一个功能齐全的嵌入式操作系统。


mbed-os :ARM自己打造、主打IoT的一整套软件解决方案 。


BabyOS:专为MCU项目开发提速的代码框架 。


LuatOS :LuatOS是运行在嵌入式硬件的实时操作系统,只需要少量内存的flash空间就能运行,用户编写lua代码就可完成各种功能。


Contiki-OS:一个小型的,开源的,极易移植的多任务操作系统。


DJYOS:都江堰操作系统。


klite :简洁易用的嵌入式操作系统内核。


lmosem :一个完全从第一行引导代码开始编写,基于ARM平台,支持多进程、多CPU、内存管理、文件与设备管理的全32位操作系统内核。


freenos:FreeNOS微内核操作系统。


#### 2、实用库/框架


cJSON:一个基于C语言的轻量级的JSON解析库。


jsmn:一个小巧的基于C语言的JSON解析库。


MultiTimer :一个软件定时器扩展模块。


MultiButton:一个小巧简单易用的事件驱动型按键驱动模块。


SmartTimer :一个轻量级的基于STM32的定时器调度器 。


CmBacktrace :一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪库。


EasyLogger:一款超轻量级、高性能的 C/C++ 日志库。


EasyFlash:一款开源的轻量级嵌入式Flash存储器库 。


SFUD:一款开源的串行 SPI Flash 通用驱动库。


lw\_oopc:轻量级的C语言面向对象编程框架。


PLOOC:受保护的低开销面向对象编程。


cmd-parser:一个非常简单好用的命令解析器。


mqttclient:一个省资源、高稳定的MQTT客户端。


NorthFrame :一个单片机极简图形化状态机框架 。


letter-shell:一个功能强大的嵌入式shell。


pigweed:谷歌开源的嵌入式目标库(模块)集合。


lwrb:一个轻量级通用环缓冲区管理器库。


cQueue :使用ANSI C 编写的消息队列功能函数。


Unity:一个轻量级的、适合嵌入式的测试框架。


Embedded Unit:是个纯标准c构建的单元测试框架。


CuTest :一款微小的C语言单元测试框, 全部代码加起来不到一千行。


cmockery:谷歌C单元测试框架。


googletest:谷歌C++测试框架。


znfat :振南fat,国产嵌入式文件系统方案 。


libu:一个C语言写的多平台工具库。


LWIP:一个小型开源的TCP/IP协议栈 。


SQLite :一个开源的嵌入式关系数据库。


OpenBLT:一种开源引导加载程序。


Linux Lab :Linux 内核实验室,基于 Docker/Qemu 的极速 Linux 内核学习、开发和测试环境。


airkissOpen :腾讯airkiss协议解析库 。


nr\_micro\_shell :shell for MCU,单片机命令行交互。


FlexibleButton:FlexibleButton 是一个基于标准 C 语言的小巧灵活的按键处理库。


mbedtls :一个开源、便携,易于使用,可读的和灵活的SSL库。


mosquitto或mosquitto(下载速度快):一个开源的MQTT代理。


inih:C 语言编写的 INI 文件解析器。


QP:QP实时嵌入式框架。


MS-RTOS:Micro Safe RTOS 。


protobuf-c:protobuf-c。


eepromfs:基于EEPROM的简易类文件的数据读写库 。


gear-lib :适用于IOT/嵌入式/网络服务开发的C库 。


mult\_timer :一个Linux下的超级精简的多重定时器 。


EFSM :是一个基于事件驱动的有限状态机 。


#### 3、GUI相关


GuiLite:大道至简 - 5千行/仅头文件/全平台GUI库 。


yoxios:基于Linux开发的轻量级物联网系统和硬件平台。


ToughGFX:一个C++编写的GUI软件框架 。


emwin:一个老牌GUI库。


littlevGL :一个免费的开源图形库。


野牛 LittlevGL demo:基于野牛开发板的 LittlevGL demo 程序 。


MonoGUI :一个黑白图形用户接口系统 。


MiniGUI:一个快速、稳定、跨操作系统的GUI。


QT:跨平台的应用程序和用户界面框架。


Gtk:一个用于创造图形用户接口的图形库。


AWTK:是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架 。


#### 4、物联网、智能家居


HomeAssistant :一款基于 Python 的智能家居开源系统。


Domoticz :一个开源的智能家居系统 。


Kaa IoT Platform:功能丰富的开放和高效的物联网云平台。


RT-Thread IoT SDK :基于RT-Thread IOT开发板的各类例程。


从零打造物联网:一份适合嵌入式开发人员学习的web开发教程。


#### 5、实例/项目/软硬结合


qt\_2019\_ncov:基于Qt/C++实现的新冠肺炎疫情监控平台。


H7-TOOL\_STM32H7\_App :H7-TOOL 多功能开发工具。


DAPLink/CMSIS DAP:一个调试器, 集成下载、调试和USB虚拟串口。


mcush:MCU shell。


DoST:Linux 下开发 STM32 。


Crazepony:Crazepony开源四轴飞行器。



![img](https://img-blog.csdnimg.cn/img_convert/ea676b0283fff5cb96baa727ca00fa03.png)
![img](https://img-blog.csdnimg.cn/img_convert/04b3b9703856baa9da1d1b7b13944a7e.png)
![img](https://img-blog.csdnimg.cn/img_convert/88541b0726c7444177221468fc71a444.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**

片转存中...(img-djEPH0rd-1715550513298)]
[外链图片转存中...(img-qJsYEGoo-1715550513298)]
[外链图片转存中...(img-5aaItQkc-1715550513299)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值