_aligned_realloc
更改随 _aligned_malloc 或 _aligned_offset_malloc的大小内存块。
void * _aligned_realloc(
void *memblock,
size_t size,
size_t alignment
);
参数
[in] memblock
当前内存块指针。[in] size
请求的内存分配的大小。[in] alignment
对齐值,则必须是整数幂的 2。
返回值
_aligned_realloc 返回无效指针重新分配的 (也可能是移动) 内存块。 返回值是 NULL ,如果大小为零,而缓冲区参数不是 NULL,或者,如果没有展开块足够的可用内存到给定范围。 在第一种情况下,原始的块被释放。 在第二个集合中,原始的块保持不变。 返回值指向确保为任何类型的对象存储正确对齐的存储空间。 获取对一个类型的指针除了之外无效,将使用一个返回值的类型转换。
它是重新分配内存和更改块的对齐的错误。
备注
_aligned_realloc 基于 malloc。 有关使用 _aligned_offset_malloc的更多信息,请参见 malloc。
此功能设置 errno 到 ENOMEM ,如果内存分配失败或,如果请求的大小大于 _HEAP_MAXREQ大。 有关 errno的更多信息,请参见errno、_doserrno、_sys_errlist和_sys_nerr。 此外, _aligned_realloc 验证其参数。 如果 alignment 不是 2 的次幂,此函数调用的参数无效处理程序,如 参数验证所述。 如果执行允许继续,此函数返回 NULL 并将 errno 到 EINVAL。
要求
实例 |
必需的头 |
---|---|
_aligned_realloc |
malloc.h |
示例
有关更多信息,请参见 _aligned_malloc。