鏈表簡介:鏈表是一種經常使用的數據結構,它經過指針將一系列數據節點鏈接成一條數據鏈。相對於數組,鏈表具備更好的動態性,創建鏈表時無需預先知道數據總量,能夠隨機分配空間,能夠高效地在鏈表中的任意位置實時插入或刪除數據。鏈表的開銷主要是訪問的順序性和組織鏈的空間損失。
Linux內核鏈表是雙向循環鏈表
建立和訪問鏈表
在linux目錄下建立mylist.c
linux
#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文件裏面添加鏈表spa