读书人

读linux内核list.h遇到的有关问题

发布时间: 2012-12-30 10:43:15 作者: rapoo

读linux内核list.h遇到的问题
除了用LIST_HEAD()宏在声明的时候初始化一个链表以外,Linux还提供了一个INIT_LIST_HEAD宏用于运行时初始化链表:

#define INIT_LIST_HEAD(ptr) do { \
(ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)



我们用INIT_LIST_HEAD(&nf_sockopts)来使用它。

只 执行了一条语句,为什么还要循环?
[解决办法]
为了让INIT_LIST_HEAD()满足语法规范吧,写成do while循环的话,如果漏了后面的“;”编译器就会报错。

读书人网 >UNIXLINUX

热点推荐