找回密码
 注册
关于网站域名变更的通知
查看: 259|回复: 1
打印 上一主题 下一主题

Linux——内核链表list.h文件剖析(上)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-7 14:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
内核链表list.h文件剖析

) I2 P7 ?% d6 Z! J

; l  T4 H" p+ S3 R( g9 W一、内核链表的结构【双向循环链表】* Z8 z( _. \* W1 t6 {" L7 o' u( E
/ N8 ?# A- M/ f6 s& Q$ }' j7 Y

* C' X% T0 M9 U" u+ s9 z2 [+ Q3 o    内核链表的好主要体现为两点,1是可扩展性,2是封装。可以将内核链表复用到用户态编程中,以后在用户态下编程就不需要写一些关于链表的代码了,直接将内核中list.h中的代码拷贝过来用。4 V9 L8 `; H( m' I9 w! q1 f$ S. A

6 D, J! _; y" H) L

1 [! g9 V9 ?  q* |7 c( u' Y9 r" N
  • struct list_head
  • {
  •   struct list_head *next, *prev;
  • }; // 包含了两个指向list_head结构体的指针next,prev[后驱和前驱]7 p% h) h; v2 h! O4 B+ B1 b
/ s" A: ]" U' W! \

; u' p1 n& x7 Y' q2 w
3 S3 c+ `3 O/ F5 Z1 A1 H

* `( I9 d+ u7 P3 V& J/ ?二、内核链表常用接口+ G2 A( C9 f! x! y1 C

, l2 z( l2 j  h' H" C: v

6 i& b7 }6 j1 r1、INIT_LIST_HEAD:创建链表
3 @7 Q( r3 f* B; q8 C4 p  M- |* a; K/ ?3 Q# o( _
) Q, J% l8 e, n  Y$ x
游客,如果您要查看本帖隐藏内容请回复

  }5 l4 ?' R# p/ l" {$ U
8 [; A3 v) `/ C

1 j* E) B1 w6 }+ b4 X
$ t9 K) b9 i8 R9 h6 a0 @, p% X
2 z+ o) U( F* [/ c8 ^: z

4 X, I6 y1 i( a6 z. O# L) b6 \
2 L4 x5 @7 N( C; ?' C5 ~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 23:49 , Processed in 0.171875 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表