_aligned_msize_dbg

返回在堆中分配的内存块的大小(仅限调试版本)。

语法

size_t _aligned_msize_dbg(
   void *memblock,
   size_t alignment,
   size_t offset
);

参数

memblock
指向内存块的指针。

alignment
对齐值,必须是 2 的整数次幂。

offset
用于强制对齐的内存分配中的偏移量。

返回值

返回无符号整数形式的大小(以字节为单位)。

备注

alignmentoffset 值必须与传递给分配该块的函数的值相同。

_aligned_msize_dbg_aligned_msize 函数的调试版本。 未定义 _DEBUG 时,每个对 _aligned_msize_dbg 的调用都简化为对 _aligned_msize 的调用。 _aligned_msize_aligned_msize_dbg 都计算基堆中的内存块的大小,但 _aligned_msize_dbg 增加了一个调试功能:它在返回大小的内存块用户部分的任一侧包括缓冲区。

此函数验证其参数。 如果 memblock 为空指针或 alignment 不是 2 的幂,则 _msize 会调用无效参数句柄,如参数验证中所述。 如果处理了错误,则该函数将 errno 设置为 EINVAL 并返回 -1。

若要了解如何在基堆的调试版本中分配、初始化和管理内存块,请参阅 CRT 调试堆详细信息。 若要了解分配块类型及其使用方式,请参阅调试堆上的块类型。 有关标准堆函数与调试版本之间的差异的信息,请参阅堆分配函数的调试版本

要求

例程 必需的标头
_aligned_msize_dbg <crtdbg.h>

有关兼容性的详细信息,请参阅 兼容性

仅限 C 运行时库的调试版本。

另请参阅

内存分配