是否可以在纯C90中实现container_of宏?我不确定如何执行此操作,因为内核实现取决于GCC Hacks,例如typeof
运算符。
我问,因为我想在C90中实现类似于内核linked list的通用容器。我在想的实际容器是一个序列集,类似于从Boost MultiIndex中可能得到的。
是否可以在纯C90中实现container_of宏?我不确定该怎么做,因为内核实现取决于GCC Hacks,例如typeof运算符。我问是因为我会...
在typeof
的内核定义中使用container_of()
仅用于编译时类型检查-它确保传递的ptr
确实是与member
相同类型的指针。可以通过进行类型检查将其修改为完全ANSI C: