ARRAY_SIZE以及__must_be_array(arr)) --来源于网络

来源:互联网 发布:阿里云费用 编辑:程序博客网 时间:2024/05/22 11:40

在写驱动时,看到ARRAY_SIZE这个宏,是求设备结构体中设备的个数,
追其实现,在linux/kernel.h中,发现
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))

其中__must_be_array(arr))  作用:宏定义防止被误用,比如用在指针而不是数组上


摘自:http://blog.163.com/shaohj_1999@126/blog/static/6340685120101114103044441/