码迷,mamicode.com
首页 > 系统相关 > 详细

Linux内核链表深度分析

时间:2018-02-26 21:41:31      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:lis   添加   目录   nbsp   modules   nts   gpo   efi   删除   

链表简介:链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。 

Linux内核链表是双向循环链表

创建和访问链表
在linux目录下创建mylist.c

#include <linux/module.h>
#include <linux/init.h>

int mylist_init()
{
    return 0;
}

void mylist_exit()
{
    
}

module_init(mylist_init);
module_exit(mylist_exit);

再创建Makefile

obj-m := mylist.o
KDIR := /root/myhome/linux-2.6.32.2/
all :
        make -C $(KDIR) M=$(PWD) modules CROSS_COMPILE=arm-linux- ARCH=arm
clean:
        rm -f *.o *.ko *.order *.symvers

再编译直接make,就产生了.ko的内核模块文件。

这时候mylist.c文件里面添加链表

 

 

 

Linux内核链表深度分析

标签:lis   添加   目录   nbsp   modules   nts   gpo   efi   删除   

原文地址:https://www.cnblogs.com/sanshijvshi/p/8475984.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!