“memset_16aligned”函数需要一个16字节对齐的指针传递给它,否则会崩溃。
a)如何分配1024字节的内存,并将其与16字节的边界对齐?
b)在执行memset_16aligned之后释放内存。
{
void *mem;
void *ptr;
// answer a) here
memset_16aligned(ptr, 0, 1024);
// answer b) here
}
发布于 2017-12-26 03:31:08
你也可以尝试posix_memalign()(当然是在POSIX平台上)。
发布于 2017-12-26 03:30:49
void *mem = malloc(1024+15);
void *ptr = ((uintptr_t)mem+15) & ~ (uintptr_t)0x0F;
free(mem);
相似问题
领取专属 10元无门槛券
AI混元助手 在线答疑
洞察 腾讯核心技术
剖析业界实践案例