提取Linux内核链表为吾所用

————Author:qinfan,Date:2014.10.29

由于项目中总是会用到链表,而每次用到链表的类型又不尽相同,每次都去写一个一般链表,如此这般,何来的效率?如是,不如奉行鲁迅先生的拿来主义,借用linux内核的万能链表用于所有项目中,这是多么爽的一件事啊!

下面分为两个文件源码文件,一个是从kernel里面提取出来的头文件(list.h),稍作修改。一个是怎么用这个链表的测试文件(test.c),废话不多说,上菜!

由于暂时只用到了链表的插入,删除,查找功能,用到内核链表的功能函数只有这几个,其他的函数没有都剔除掉了。其中,在list.h文件中,有一个列子是用来说明内核中怎么计算出当前链表位置所指的结构体的首地址的,这只是我的个人愚见。在list_for_each(pos, head)函数中,由于在遍历链表时,我处理不当造成段错误,添加了一个判断条件(NULL!=pos),这样就避免了当指针为空的时候,遍历出错的问题。继续学习中……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值