关于container_of的使用
linux kernel中 container_of 宏
由某个field的地址取得整个结构体的地址,但一定要注意是field的地址。但若field为指针时,一定要注意。
比如
struct test {
int a;
int b;
int *p;
};
struct test t1;
struct test *t2;
int **p = &t1.p;
int *q = t1.p;
t2 = container_of(p, struct test, p);
//正确, t2 = &t1
t2 = container_of(&q, struct test, p);
//错误, t2 != &t1, t2 == ?
阅读(446) | 评论(0) | 转发(0) |