7 7 Linux核心中的通用鍊錶 上

2021-10-25 04:54:20 字數 392 閱讀 6825

在程序、檔案、模組、裝置驅動中大量使用

定義:include/linux/list.h、 include/linux/types.h 中

定義了針對鍊錶的一些基本操作

不同的資料型別都可以據此構建自己的鍊錶

__list_add

(srtuct list_head *new,

srtuct list_head *prev,

srtuct list_head *next)

;//核心裡面使用的介面

void

list_add

(srtuct list_head *new,srtuct list_head head

)//留給使用者的介面,頭插法

Linux核心中的鍊錶

要使用核心鍊錶,需要包含標頭檔案,鍊錶結構定義如下 struct list head linux核心中的鍊錶是乙個雙向迴圈鍊錶,結構中只包含兩個指標next和prev,不包含其它任何資料成員,同常見定義鍊錶稍有不同。在linux核心中使用鍊錶,是將鍊錶內嵌在其它結構體中來使用,從這裡也可以看出,li...

Linux核心 10 核心中的鍊錶

使用鍊錶的目的很明確,因為有很多事情要做,於是就把它放進煉表裡,一件事一件事的處理。比如在usb子系統裡,u盤不停的提交urb請求,usb鍵盤也提交,usb滑鼠也提交,那usb主機控制器咋應付得過來呢?很簡單,建乙個鍊錶,然後你每次提交就是往裡邊插入,然後usb主機控制器再統一去排程,乙個乙個來執行...

Linux核心中煉表處理

最基本的定義 struct list head define container of ptr,type,member 通過指標ptr,獲取對應的結構體指標。其中member是typeof中的指標。ptr就是指向member。define list for each entry pos,head,m...