考虑以下 (C11) 代码:
void *ptr = aligned_alloc(4096, 4096);
... // do something with 'ptr'
ptr = realloc(ptr, 6000);
自从有记忆以来ptr
指向有 4096 字节对齐aligned_alloc
,它会(读:是否保证)在(成功)调用后保持对齐realloc
?或者内存可以恢复到默认对齐方式吗?
不与指针保持对齐。当您调用 realloc 时,您只能依赖 realloc 保证的对齐方式。您需要使用aligned_alloc来执行任何重新分配。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)