易截截图软件、单文件、免安装、纯绿色、仅160KB

linux内核中的Hlist与List_head结构

List_Head
操作系统内核经常需要维护数据结构。内核有标准的循环链表、双向
链表的实现。在
<Linux/list.h>
文件中定义了一个
list_head
类型简单结构:
struct
list_head {
  

struct list_head *next, *prev;
};
 
通用链表的常用用途是将某一个数据结构本身串成链表,或将某些链
表与一个数据结构联系起来,这两种情况实质上都是由结构
list_head
组成链表,只是
list_head


背负

的负载不一样。下面分别举例说明这两种用途。
以下示例说明了如何将某一个数据结构本身串成链表,并对链表进行
操作,同时还说明
list_head
结构的实现与使用。
示例:将某一个数据结构本身串成链表。

1
)加入
list_head
结构成员。
假设有一个
example_struct
结构需连接成链表,因而在其结构里面加上
list_head
成员,就组成了结构链表,如下:
struct
example_struct {
  

struct list_head list;
  

int priority; 
  

……//
其他成员

};
 

example_struct
结构中的
list
成员,用来将
example_struct
结构串成链表。可理解为
list_head“
背负

的负载是
example_struct
结构。

2
)创建
list_head
结构。
使用前必须申请链表头并用

INIT_LIST_HEAD
宏来
初始化链表头。可使用两种方法。
方法
1

struct
list_head example_list;
INIT_LIST_HEAD(&example_list);

 
方法
2

LIST_HEAD(example_list);
 
其中,这两个宏在
include/Linux/list.h
中定义如下:
#define
LIST_HEAD(name) \
      

struct list_head name = LIST_HEAD_INIT(name)
 
#define
INIT_LIST_HEAD(ptr) do { \
      

(ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)
 
宏定义
INIT_LIST_HEAD
初始化了链表头,即向前、向后的指针都指向链表头。这样,就已
初始化了一个
example_list
的链表头,以后就可以向链表中增加链表元素了。

3
)链表与用户结构连接。
list_entry
宏将
exmplelist
链表与
exmple_struct
结构类型连接起来。
有两项链表的链表头
List_entry
宏的效果

list_head


相关文档:

linux建立文件/目录链接


<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 680460288 22 0 262145 0;}
@font-face
{font-family:"\@宋体" ......

linux配置java环境变量(详细)

现在用linux的朋友越来越多了,前几天就有两个朋友问我linux下怎么配置java环境,我想还有很多朋友想了解学习这方面的东西,就写一个完全一点的linux java环境配置吧,希望对大家有帮助。
一. 下载jdk5.0 for linux
  到sun的主页 http://java.sun.com/j2se/1.5.0/download.jsp 下载jdk安装文件jdk-1_5_0_05-linux-i586 ......

LINUX RSYNC配置详解

1,首先SERVER与CLIENT都需要安装RSYNC
2,其次在SERVER的/etc/下面建立rsyncd.conf 
内容可以按照下面的写法
[root@vm-base-01 local]# more /etc/rsyncd.conf
uid =
root                     &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号