请教内核list.h头文件源码的问题
- #define LIST_HEAD_INIT(name) { &(name), &(name) }
- #define LIST_HEAD(name) \
- struct list_head name = LIST_HEAD_INIT(name)
- static inline void INIT_LIST_HEAD(struct list_head *list)
- {
- list->next = list;
- list->prev = list;
- }
复制代码这是内核list.h里面的一段代码,比较疑惑,最后一个函数的实现的功能和前面两个宏定义的功能是一样的,但为什么内核还像这样写,不累赘吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
参数类型不一样
前两个用在声明链表头变量的地方,后一个给函数调用