Chinaunix首页 | 论坛 | 博客
  • 博客访问: 456759
  • 博文数量: 73
  • 博客积分: 3593
  • 博客等级: 中校
  • 技术积分: 912
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-14 11:32
文章分类

全部博文(73)

文章存档

2013年(2)

2012年(20)

2011年(25)

2010年(12)

2009年(14)

分类: LINUX

2010-01-13 09:56:06

本文收集Linux内核中各种稀奇古怪的宏定义。

#define get_addr(type, member, mem_addr) (type*)(mem_addr - &(((type*)0)->member))

#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
 
#define list_entry(ptr, type, member) \
        container_of(ptr, type, member)
 
#define container_of(ptr, type, member) ({                      \
        const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
        (type *)( (char *)__mptr - offsetof(type,member) );})
 
阅读(795) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~