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