如何仅使用标准库分配对齐内存?作为求职面试的一部分,我刚刚完成了一个测试,有一个问题让我困惑不已,甚至用谷歌做参考。我想看看StackOverflow团队能做些什么:这个memset_16aligned函数需要一个传递给它的16字节对齐指针,否则它会崩溃.如何分配1024字节的内存,并将其与16字节的边界对齐?(B)在memset_16aligned已经被处决了。{
void *mem;
void *ptr;
// answer a) here
memset_16aligned(ptr, 0, 1024);
// answer b) here }
3 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
uintptr_t
void *mem = malloc(1024 + 15);void *ptr = (void*) ((uintptr_t) mem + 15) / 16 * 16;memset_16aligned(ptr, 0, 1024);free(mem);
- 3 回答
- 0 关注
- 533 浏览
添加回答
举报
0/150
提交
取消