当前位置: 技术问答>linux和unix
进行内存分配时为什么要对给定的大小重新计算大小???
来源: 互联网 发布时间:2015-05-03
本文导语: #define MY_ALIGN(A,L) (((A) + (L) - 1) & ~((L) - 1)) #define ALIGN_SIZE(A) MY_ALIGN((A),sizeof(double)) 当时行内存的分配时,如下: size = ALIGN_SIZE(size); 然后进行分配,是不是进行页面对齐,还是别的???? | ...
#define MY_ALIGN(A,L) (((A) + (L) - 1) & ~((L) - 1))
#define ALIGN_SIZE(A) MY_ALIGN((A),sizeof(double))
当时行内存的分配时,如下:
size = ALIGN_SIZE(size);
然后进行分配,是不是进行页面对齐,还是别的????
#define ALIGN_SIZE(A) MY_ALIGN((A),sizeof(double))
当时行内存的分配时,如下:
size = ALIGN_SIZE(size);
然后进行分配,是不是进行页面对齐,还是别的????
|
这是因为为了保证下一个内存块是4字节对齐的,每次分配内存的字节数都应该是4的整数倍.
|
你的程序没有问题吧?感觉怪怪的