https://www.ibm.com/developerworks/cn/linux/kernel/l-chain/ 这个是Linux 2.6内核链表数据结构的实现 https://www.cnblogs.com/youngerchina/archive/2012/01/02/5624637.html 在C++项目里面编译出了些问题,在引用的地方加上extern "C" extern "C" { #include "list.h" } 第一次看linux内核代码,这代码真的厉害,很多地方可以照着写,拿来用。
/* Insert a new entry between two known consecutive entries */
static inline void __list_add(struct list_head *fnew,struct list_head *prev, struct list_head *next)
{
next->prev = fnew;
fnew->next = next;
fnew->prev = prev;
prev->next = fnew;
}
这个地方我把new改成了fnew,不然项目里面编译不过去。