Linux内核中双向链表的经典实现
概要 前面一章"介绍双向链表并给出了C/C++/Java三种实现",本章继续对双向链表进行探讨,介绍的内容是Linux内核中双向链表的经典实现和用法。其中,也会涉及到Linux内核中非常常用的两个经典宏定义offsetof和container_of。内容包括:1. Linux中的两个经典宏 ...
概要 前面一章"介绍双向链表并给出了C/C++/Java三种实现",本章继续对双向链表进行探讨,介绍的内容是Linux内核中双向链表的经典实现和用法。其中,也会涉及到Linux内核中非常常用的两个经典宏定义offsetof和container_of。内容包括:1. Linux中的两个经典宏 ...
#define container_of(ptr, type, member) 输入: 结构体一个成员的member地址ptr, 结构体的类型, 结构体一个成员member的名, 输出: 得到这个结构体变量的地址; 分析: 结构体类型是确定的,结构体成员 相对 结构体定义的起始地址 偏移 ...