摘要: 前面我们说过如何用C实现通用类型的链表,比如void*的指针,零长数组等。可是小菜鸟毕竟赶不上大师,还是Linux内核巧妙啊,这里面的链表,才是链表中的“奇葩”。 源码的路径是include/linux/list.h 我们先找几个简单的读一读吧。 struct list_head {str... 阅读全文
posted @ 2014-06-19 16:08 漂泊的指针 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 在linux内核链表中,会遇到两个宏。 在include/linux/stddef.h中,有这样的定义 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) 这里的TYPE表示某个结构体类型,MEMBER表示结构体中的一... 阅读全文
posted @ 2014-06-19 09:24 漂泊的指针 阅读(439) 评论(0) 推荐(0) 编辑