[allguysindni] Re: [allguysindni] Re: [allguysindni] 请教 宏定义 返回值

  • From: Wugang Qiu <qiuwugang@xxxxxxxxx>
  • To: allguysindni@xxxxxxxxxxxxx
  • Date: Mon, 1 Nov 2010 18:02:46 +0800

漂亮,多谢!

2010/11/1 seaturn <haiyue.wang@xxxxxxxxx>

> 参考:
> #define container_of(ptr, type, member) ({ \
> const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>  (type *)( (char *)__mptr - offsetof(type,member) );})
>
> do while 不行!
>
>
>
>
> 在 2010年11月1日 下午5:46,Wugang Qiu <qiuwugang@xxxxxxxxx>写道:
>
>> 怎么用宏定义 返回 一个返回值(宏包含多条语句)? 以前看到过这样的代码,不过想不起来了,好像就是利用{}的最后 一个表达式的值 就是 {}定义体
>> 的值这个特点;
>>
>>
>> #define xxx(var) do{ \
>> int a; \
>> a=func(var); \
>> }while(0)
>>
>
>
>
> --
> Best Regards,
> Haiyue
>
>

Other related posts: