zoukankan      html  css  js  c++  java
  • Linux内核链表深度分析

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

    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文件里面添加链表

     

  • 相关阅读:
    try里有return,finally 里还会执行吗?
    OKR与KPI
    读阿里规范笔记
    Maven lifeCycle简要说明
    LK AH 技术对比
    HTTP请求 工具类
    HTTPS 流程
    指数基金投资指南-读书笔记
    mybatis-generator
    《富爸爸穷爸爸》---读后感
  • 原文地址:https://www.cnblogs.com/sanshijvshi/p/8475984.html
Copyright © 2011-2022 走看看