Linux container_of的原型定义如下:
各参数含义:
type — 需要操作的数据类型,通常为结构;
member — type结构的成员名称;
ptr — member类型定义的指针变量;
例如:
struct typeabc{
int mem0;
float mem2;
double mem4;
char mem6;
};
struct typeabc abc, *pabc;
abc.mem2 = 0.0;
float *pmem2 = &abc.mem2; //已知
//通过成员变量的地址得到它所在结构的首地址
pabc = container_of(pmem2 , struct typeabc, mem2 );