##defs.h## 使用了 ()宏定义的方式,并且执行了一行定义的语句, 首先 将a转换成size_t 然后在转换回去 #define ROUNDDOWN(a,n) ({ size_t __a=(size_t)(a); (typeof(a)) (__a-__a %(n)); })
#define ROUNDUP(a, n) ({
size_t __n = (size_t)(n);
(typeof(a))(ROUNDDOWN((size_t)(a) + __n - 1, __n));
})
ROUNDUP 有相似的定义
##pmm.h## PADDR () / / 接受虚拟地址,返回实际地址 就是接受地址后 减了一个 KERNBASE 返回