【发布时间】:2013-12-17 08:27:58
【问题描述】:
考虑以下 (C11) 代码:
void *ptr = aligned_alloc(4096, 4096);
... // do something with 'ptr'
ptr = realloc(ptr, 6000);
由于ptr 指向的内存具有来自aligned_alloc 的4096 字节对齐,在(成功)调用realloc 之后它会(阅读:是否保证)保持该对齐?或者内存可以恢复到默认对齐方式吗?
【问题讨论】:
-
标准承诺没有这样的事情。
-
标准中没有规定
realloc()应记住原始指针的对齐要求,因此标准不要求保留对齐要求。 -
posix_memalign相同:stackoverflow.com/questions/9078259/…
标签: c memory-management realloc c11