Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1828819
  • 博文数量: 195
  • 博客积分: 4227
  • 博客等级: 上校
  • 技术积分: 2835
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-04 10:39
文章分类

全部博文(195)

文章存档

2013年(1)

2012年(26)

2011年(168)

分类: LINUX

2011-04-06 10:46:32

在linux中有一个很有用的宏定义container_of其具体的实现如下:
#define container_of(ptr, type, member) ({            \
    const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
    (type *)( (char *)__mptr - offsetof(type,member) );})

#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
关于其中一个很重要的关键字typeof另一篇引用的文章看过。
阅读(717) | 评论(0) | 转发(0) |
0

上一篇:typeof

下一篇:关于#/##在宏定义中的用法

给主人留下些什么吧!~~