ChinaUnix.net
相关文章推荐:

Linux 内核链表

杨沙洲 (pubb@163.net) 国防科技大学计算机学院 本文详细分析了 2.6.x 内核链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。 一、 链表数据结构简介 链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删...

by mq110 - 内核/嵌入技术 - 2005-07-15 23:16:47 阅读(1286) 回复(10)

相关讨论

28 struct list_head { 29 struct list_head *next, *prev; 30 }; 31 32 #define LIST_HEAD_INIT(name) { &(name), &(name) } 33 34 #define LIST_HEAD(name) \ 35 struct list_head name = LIST_HEAD_INIT(name) 36 37 #define INIT_LIST_HEAD(ptr) do { \ 38 (ptr)->next = (ptr); (ptr)->prev = (ptr); \ 39 } while (0) 请问LIST_HEAD_INIT(name)与INIT_LIST_HEAD(ptr)的功能 除了一个使用指针一个不使用指针之外 有...

by openq - C/C++ - 2007-08-07 12:36:36 阅读(1122) 回复(2)

http://www.21cstar.com/dhome/2007/0119/content_348.html 无意中发现的,呵呵。

by huayd - C/C++ - 2007-10-05 23:29:56 阅读(1372) 回复(2)

在用户空间编程使用linux内核链表list,hlist宏定义和操作. linux内核中的list_head和hlist_head/hlist_node是将数据结构串起来成为链表的两个重要链表构造工具。利用他们和其对应的宏定义,可以非常容易地将数据构成链表,进行链表的各种操作,和数据查询。 在内核中,他们使用的十分广泛。这些链表操作宏定义具有通用性,和具体数据结构无关。 利用他们,编程者就不必要自己具体操作链表的指针,而集中精力关心数据本身。使用...

by 思一克 - C/C++ - 2012-06-17 23:05:29 阅读(14068) 回复(22)

一,系统初启   首先很惭愧的坦白大部分是抄袭他人(XIAOMAN)的因为系统的初起一直是一个麻烦而头疼的问题,不同的体系结构会有较大的不同。X86从硬件启动,读入引导扇区,执行引导程序从实模式开始再转换到保护模式这个复杂的过程其实与操作系统本身的运行机制关系并不大,但忽略过去又无法给linux内核一个完整的 过程,所以我大动剪刀浆糊,但会把精力主要集中在linux内核本身,希望得到大家的谅解。 (以核心2.0.36为主)...

by thursday - 内核/嵌入技术 - 2004-12-09 16:28:35 阅读(666) 回复(0)

有兴趣的可以共同研究, 我们作个小程序。 赫赫。 联系 [email]xuejian1982@gmail.com[/email]

by 怪怪虎 - C/C++ - 2006-06-28 08:52:04 阅读(1797) 回复(12)
by prc - C/C++ - 2006-04-11 09:47:31 阅读(1875) 回复(9)

等会更新 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93889/showart_1894450.html

by xinli_whut - BSD文档中心 - 2009-04-08 18:55:21 阅读(946) 回复(0)

我最近想写linux下的驱动,在网上找了一个想关的例子看了看,之后我就有个问题: 那里面的代码很的函数都是内核里面的,对于我一个刚开始写代码的新手来说感觉很陌生. 我主要想问问:linux内核怎么学才能在自己写代码的时候知道要用到内核里面的api和一些宏? 我在看代码的时候:我始终不知道那些api和宏是从哪里来的? 为什么要用那些东东? 如果我自己写代码,我从什么地方才能找到那些宏? 希望高手能够给我指点一下!!! 谢...

by chenweiming507 - C/C++ - 2009-01-11 21:40:41 阅读(2368) 回复(15)

通过printk打你希望追踪的消息。从它的名字可以看出,这个东西有点类似与gnu c中的printf。不过用于内核的东西总该有些特色,printk添加了一些日志级别(loglevel),具体日志级别定义的宏在。 (printk的格式:printk(KERN_ALERT"The process is \"%s\"(pid %i)\n",current->comm,current->pid)) 。 这些宏定义的注释已经很详细了。 #define KERN_EMERG "" /* system is unusable */ #define KERN_ALERT "" /* action must...

by k_ewell - BSD文档中心 - 2008-11-28 14:12:39 阅读(1287) 回复(0)