分类: LINUX
2014-06-20 11:53:28
#define typecheck(type,x) \
({ type __dummy; \
typeof(x) __dummy2; \
(void)(&__dummy == &__dummy2); \
1; \
})
编译的时候会检查,只有相同类型的指针才可以比较,不然会报警告,使用-Werror,会报错误;
void的作用,去除no effect 的警告,尽管void不是真正的数据类型,可以使用类型转换;
此外,(void)参数,可以去除unused 的警告