gpt4 book ai didi

Linux内核中container_of()的实现

转载 作者:行者123 更新时间:2023-11-30 15:53:04 24 4
gpt4 key购买 nike

Possible Duplicate:
Rationale behind the container_of macro in linux/list.h

#define container_of(ptr, type, member) ({                      \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})\

为什么我们需要构造mptr在这里而不是类型转换 ptr直接发送至char*

最佳答案

类型安全,它确保 mptr 与指向 member 的指针具有相同的类型,而不仅仅是强制转换。如果不是,您将收到警告。

关于Linux内核中container_of()的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13900706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com