概述
作为一个嵌入式开发人员,每天都在和各种各样的数据打交道,如何高效的管理数据,规划内存,对于我们显得尤为重要。常用的数据结构有链表、栈、队列、二叉树等,如果这些都要依靠程序猿自己实现,这无疑会加大我们的工作量,而且也不是每个程序猿都能很好、很稳定的实现这些结构和功能。
对于单片机等裸机而言,这些结构只能靠开发人员自己来实现,但如果你跟我一样,是基于操作系统来开发项目,由于操作系统的底层同样需要用到数据结构来管理自己的资源、任务等,所以在系统里实现了这些数据结构,而幸运的是,这些接口对于开发者完全透明开放,我们可以直接拿来使用。
vxwroks 双向链表模块主要定义在lstLib.c和lstLib.h中,链表本身属于线性存储,每个链表元素我们简称为节点,每个节点由数据域和指针域两部分构成,数据域用来存储数据,而指针域则用来链接相邻的元素。具体原理感兴趣的小伙伴可以参考小编的文章《也没想象中那么神秘的数据结构-一环扣一环的“链表”(双链表)》。
注意
开发环境:vxWorks6.9.4、workbench3.3.5。
另外,小编所有文章均是自己亲手编写验证,由于文件太多,小编就不在公众号后台一一回复列举了,若需要小编的工程代码,请关注公众号