Chinaunix首页 | 论坛 | 博客
  • 博客访问: 36094
  • 博文数量: 10
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 117
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-16 17:17
个人简介

_勇

文章分类
文章存档

2013年(10)

我的朋友

分类: LINUX

2013-10-30 16:02:50

#define typecheck(type,x) \
({ type __dummy; \
typeof(x) __dummy2; \
(void)(&__dummy == &__dummy2); \
1; \
})

展开宏:
unsigned long __dummy;    //定义__dummy
typeof(flags) __dummy2;   //定义__dummy2
(void)(&__dummy == &__dummy2);    //类型不一致会警告
1;   //似乎只是一个语句

编译时会检查flags是否是unsigned long 类型,如果不是会警告“comparison of distinct pointer types lacks a cast”。
阅读(1047) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~