_aligned_offset_realloc_dbg

更改随 _aligned_malloc_aligned_offset_malloc 的大小内存块 (请只调试版本)。

void * _aligned_offset_realloc_dbg(
   void *memblock, 
   size_t size, 
   size_t alignment,
   size_t offset,
   const char *filename,
   int linenumber 
);

参数

  • [in] memblock
    当前内存块指针。

  • [in] size
    内存分配大小。

  • [in] alignment
    对齐值,则必须是整数幂的 2。

  • [in] offset
    偏移量强制对齐的内存分配中。

  • [in] filename
    对请求 aligned_offset_realloc 操作或空源文件的名称的指针。

  • [in] linenumber
    在 aligned_offset_realloc 操作是请求或空的源文件中的行号。

返回值

_aligned_offset_realloc_dbg 返回无效指针重新分配的 (也可能是移动) 内存块。 返回值是 NULL ,如果大小为零,而缓冲区参数不是 NULL,或者,如果没有展开块足够的可用内存到给定范围。 在第一种情况下,原始的块被释放。 在第二种情况下,原始的块保持不变。 返回值指向确保为任何类型的对象存储正确对齐的存储空间。 获取对一个类型的指针除了之外无效,将使用一个返回值的类型转换。

备注

_aligned_offset_realloc_dbg 是 _aligned_offset_realloc 函数的 " debug " 版本。 当 _DEBUG 未定义时,每个调用 _aligned_offset_realloc_dbg 减少到 " _aligned_offset_realloc的调用。 _aligned_offset_realloc 和 _aligned_offset_realloc_dbg 在基堆分配内存,但是, _aligned_offset_realloc_dbg 满足一些调试功能:在测试块的两侧用户部分的缓冲区对于泄漏、跟踪一个块类型的参数特定分配类型和 filename/linenumber 信息确定分配请求的原点。

_aligned_offset_malloc_aligned_offset_realloc_dbg 允许结构对齐在结构中的偏移量。

_realloc_dbg 与请求的 newSize重新指定的内存块。稍有更多的空间。 newSize 可能大于或小于最初分配的内存块范围。 调试堆管理器用于附加空间链接调试内存块,并提供应用程序提供调试标题信息并复盖缓冲区。 重新分配可能导致将原始内存堆的其他位置,以及更改的范围内存块。 如果发生移动后,原始的块的内容被复盖。

此功能设置 errno 到 ENOMEM ,如果内存分配失败或,如果请求的大小大于 _HEAP_MAXREQ大。 有关 errno的更多信息,请参见errno、_doserrno、_sys_errlist和_sys_nerr。 此外, _aligned_offset_realloc_dbg 验证其参数。 如果 alignment 不是 2 的次幂,或者 offset 大于或等于 size 和非零,此函数调用的参数无效处理程序,如 参数验证所述。 如果执行允许继续,此函数返回 NULL 并将 errno 到 EINVAL。

有关如何的信息存储在基堆的调试版本中分配,初始化,并管理,请参见 内存管理和调试堆。 有关分配的信息块类型以及如何使用它们,请参见 调试堆上的块类型。 有关调用标准堆函数之间的差异的信息及其调试在应用程序的调试版本的版本,请参见 使用调试版本与基版本

要求

实例

必需的头

_aligned_offset_realloc_dbg

crtdbg.h

有关更多兼容性信息,请参见中介绍的 兼容性

只调试 C 运行库 的版本。

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例

请参见

参考

调试实例