本来不打算写这篇博文的,因为我觉得在 linux内核之container_of()详解 文章中已经讲的非常详细了,再写什么也觉得是狗尾续貂了,没必要。可是今天自己做openvswitch内核开发时,发现自己也用错几个地方。然后又回想下记得有个博友说过一句话:聪明的作者不仅能自己看懂,还能深入浅出的举些简单的例子帮助别人理解。所以就写个简单的程序来说明下怎么使用container_of()这个宏吧。
如果想了解container_of()的工作原理,我建议还是先看下linux内核之container_of() 详解这篇文章。如果只想用它,或者说使用时出现些莫名的错误。那么请看下面的小程序。
这个程序只是用来说明怎么用container_of()这个宏,所以在程序中有些细节(动态申请时没判断是否申请成功,动态分配的内存没有销毁等)没去过多的处理,希望