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 );