linux内核宏之——-PERF_ALIGN
1 #define PERF_ALIGN(x, a) __PERF_ALIGN_MASK(x, (typeof(x))(a)-1) 2 #define __PERF_ALIGN_MASK(x, mask) (((x)+(mask))&~(mask))
返回以a字节对齐需要的字节数,结果类似于roundup,例如:
PERF_ALIGN(9, 4) = 12;
PERF_ALIGN(11, 4) = 12;
PERF_ALIGN(6, 2) = 6;
1 #define roundup(x, y) \ 2 ( \ 3 { \ 4 const typeof(y) __y = y; \ 5 (((x) + (__y - 1)) / __y) * __y; \ 6 } \ 7 )
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步