rt-thread 开发经验分享(一)

文章目录

链表

rt-thread中的链表,不管是rt_list_t还是rt_slist_t的节点都没有数据域(其实也有,只是跟节点强关联了,可以通过节点指针找到数据域),只有当前节点的关联节点的指针,这样做的好处是节点的删除非常方便。但是我在系统应用使用过程中发现了一个不方便的地方,如果某一数据对象类型的定义里面如果只声明了一个rt_list_t或rt_slist_t节点对象,那么该数据对象只能同时在一个链表里面使用,因为插入或删除可能会改变该节点的临近节点,从而影响到所有引用该数据对象的链表。 但是也有一种办法可以解决,即有多少个链表使用该对象,就在对象中定义几个list字段,从而避免上述问题。 不过有时候几个list字段,会影响到维护性,总感觉扩展性不是很好,我现在都是用的自己写的list,list 的node中放一个void *类型,每个list node中都是相关数据对象的拷贝,互不影响。

持续更新……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值