关于ARRAY_SIZE宏的理解

161 阅读1分钟

ARRAY_SIZE这个宏,是求设备结构体中设备的个数,在linux/kernel.h中,发现 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) 其中__must_be_array(arr))作用:宏定义防止被误用,比如用在指针而不是数组上。 一般用来求有多少个资源,例如ARRAY_SIZE(resources);