、container_of
マクロは、一見 "エクストラ" 括弧で囲まれています。その代わりのブロックマクロの周りにカッコが必要なのはなぜですか? Linuxでは
#define container_of(ptr, type, member) ({ \
const typeof(((type *)0)->member) *__mptr = (ptr);
(type *)((char *)__mptr - offsetof(type,member));})
、私達はちょうど
#define container_of(ptr, type, member) { \
const typeof(((type *)0)->member) *__mptr = (ptr);
(type *)((char *)__mptr - offsetof(type,member));}
を使用することができますか?
かっこは必須か、予防措置のためのものですか?
これはむしろCよりGCCタグ付けされなければならない....... –