红联Linux门户
Linux帮助

关于list_entry()的一些想法

发布时间:2008-05-19 21:12:04来源:红联作者:wmbodbc
  这两天又在看linux/list.h里面的内容,感觉list_entry()有些好处,不过在传递参数的时候需要指定struct的类型,感觉比较麻烦。

  于是,想根据这个思想做一种新的链表,规定struct bclist_head增加一个flag标志,表明外围的结构是何种类型,并且struct bclist_head永远放在第一个元素的位置(只需要简单的强制类型转换就能够进行struct bclist_head和外围struct的转换)。定义出外围接口用户能定义macro和struct的定义,在最大数量范围内,只要进行注册就能够使各个macro和struct之间进行一一对应。这样可以随意增加不同类型的struct。(没有什么大的变化,只是list_entry()能支持不同的内存模型)。
文章评论

共有 0 条评论