如何自定义malloc函数,返回32字节对齐的内存地址?
如题。期望自定义一个内存分配函数,原型如下:
void * my_malloc(size_t size, int aligned );
传入期望申请的内存大小、期望的字节对齐值,返回申请到的指定的字节对齐的内存首地址
bfans
12 years, 8 months ago
Answers
作为一个完整的解决方案来说,可以多申请4个字节。其中3个用来调整对齐,一个用来记录和实际分配的起始地址的偏差值。这样对应的free可以检查这个偏差值,然后恢复到最开始申请的内存起始地址
弛哥Chico
answered 12 years, 8 months ago