Linux - ALIGN
定義在 linux/kernel.h
#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
--
與上界對齊
(((x)+(a)-1)&~(a-1))
與下界對齊
((x)&~(a-1))
#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
--
與上界對齊
(((x)+(a)-1)&~(a-1))
與下界對齊
((x)&~(a-1))
留言
張貼留言