下面的宏是实现什么的?哪位指点下,该怎么解决
下面的宏是实现什么的?哪位指点下
#define ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y))
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
#define ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y))
可以理解为一种数据对齐
比如:
你要分配10个字节的内存,但是你的内存是按块分配的,每块长度为8字节
那么执行ROUNDUP(10,8);之后就会获得两个内存块;即使你并没有用到16个字节
#define ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y))
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
#define ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y))
可以理解为一种数据对齐
比如:
你要分配10个字节的内存,但是你的内存是按块分配的,每块长度为8字节
那么执行ROUNDUP(10,8);之后就会获得两个内存块;即使你并没有用到16个字节