代码是:
#define PAGE_SHIFT 12
#define PAGE_SIZE (1UL << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
#define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK)
我知道这个marco对齐
页面边界上的任何地址。
如何理解此工具
?
答案 0 :(得分:5)
通过向其添加4095(即2 12 -1),它将addr
向下舍入到4096的下一个倍数(即2 12 )并清除最低12位