typecheck(type,x) 作用
来源:互联网 发布:查询mysql数据库ip 编辑:程序博客网 时间:2024/05/17 22:35
在kernel 2.6.30 的typecheck.h源码中有如下定义
#define typecheck(type,x) /
({ type __dummy; /
typeof(x) __dummy2; /
(void)(&__dummy == &__dummy2); /
1; /
})
这个有什么作用呢?下面举例来说明
#define time_after(a,b) /
(typecheck(unsigned long, a) && /
typecheck(unsigned long, b) && /
((long)(b) - (long)(a) < 0))
typecheck宏有两个参数,
第一个是一个类型,比如unsigned long,
第二个是一个变量,比如a。
它生成一个unsigned long类型的变量__dummy,
然后利用typeof生成和a同样类型的变量__dummy2,
比较__dummy和__dummy2的地址。
如果它们不是同样类型的指针比较,比如a不是unsigned long,
这时候编译器会有一个警告,让你注意到这个问题。//为什么会报警告,知道的朋友还请告知一下,谢谢
1 0
- typecheck(type,x) 作用
- typecheck(type,x) 作用
- typecheck() 作用
- linux 内核宏定义:#define typecheck(type,x)
- typecheck
- typecheck()
- typecheck
- typecheck()简析
- x:Type
- content-type的作用
- x&(x-1)作用
- X-Content-Type-Options
- AFNetworking -unacceptable content-type: x x x
- Convert from type X to type Y
- input type="hidden" 作用
- type="redirect"的作用
- type="redirect"的作用
- linux中 typecheck的分析
- 什么是权限管理
- A + B Is Overflow
- git 时遇到fatal:multiple stage entries for merged file处理办法
- CSS选择符优先级
- 仅需三步,让您的员工绩效都得A!
- typecheck(type,x) 作用
- 和喜欢的女生聊天 15 分钟以后就找不到话题了怎么办?
- Java中的异常处理
- 51nod 1008 N的阶乘 mod P
- 将IplImage转换为Mat
- 升级Android6.0 后app无法扫描ble设备
- Android 下拉刷新框架实现
- 好框架
- __try,__except,__finally,__leave异常模型机制