linux内核中typeof的使用说明
来源:互联网 发布:杨氏双缝干涉实验数据 编辑:程序博客网 时间:2024/05/13 06:50
typeof说明
功能:获取某一变量或表达式类型 C99关键字
(1)typeof(int*) == int *
(2)函数int max()
typeof(max()) == int,且max函数不会执行,typeof只是获取返回类型
(3)const typeof( ((type *)0)->member ) *__mptr = (ptr);
获取member在type类型结构体中的类型
(4)交换@a和@b数值
存在严格的类型检测
#define swap(a, b) \
do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
(5)typeof + 类型检测
#define min(x, y) ({ \
typeof(x) _min1 = (x); \
typeof(y) _min2 = (y); \
(void) (&_min1 == &_min2); \
_min1 < _min2 ? _min1 : _min2; })
#define max(x, y) ({ \
typeof(x) _max1 = (x); \
typeof(y) _max2 = (y); \
(void) (&_max1 == &_max2); \
_max1 > _max2 ? _max1 : _max2; })
(void) (&_x == &_y)
这句不是为了判断两个变量的地址是否相等,而是为了判断两个变量的类型是否相同;如果类型不同,编译阶段,编译器为告警!
typeof(x) _min1 = (x); \
typeof(y) _min2 = (y); \
可以防止类似min(a++,b++)歧义的存在
- linux内核中typeof的使用说明
- linux内核中的typeof
- linux内核中的typeof
- Linux内核打印函数printk的使用说明
- Linux内核打印函数printk的使用说明 .
- Linux中su的使用说明
- linux中crontab的使用说明
- linux内核细节- typeof、offsetof、container_of
- typeof在linux中妙用
- typeof在linux中妙用
- typeof在linux中妙用
- typeof在linux中妙用
- linux kernel中typeof和container_of的理解
- linux内核中的C语言常规算法(前提:你的编译器要支持typeof和type)
- 内核中常用的同步原语使用说明
- JS中typeof的使用
- JavaScript中typeof的用法
- JavaScript中typeof的使用
- POJ-1051-P,MTHBGWB
- DispatcherServlet作用
- Linux中的container_of的说明
- POJ-1666-Candy Sharing Game
- MAVEN常用命令
- linux内核中typeof的使用说明
- WCF把书读薄(3)——数据契约、消息契约与错误契约
- 在各个平台上关于数据类型的定义
- 异步加载图片
- Spring 3.0 注解注入详解
- POJ-1951-Extra Krunch
- FusionChart 2D面积图
- Java获取网页内容、图片、JavaScript和CSS文件工具类
- POJ-2271-HTML