_aligned_msize_dbg
返回在堆中分配的内存块的大小(仅限调试版本)。
语法
size_t _aligned_msize_dbg(
void *memblock,
size_t alignment,
size_t offset
);
参数
memblock
指向内存块的指针。
alignment
对齐值,必须是 2 的整数次幂。
offset
用于强制对齐的内存分配中的偏移量。
返回值
返回无符号整数形式的大小(以字节为单位)。
备注
alignment
和 offset
值必须与传递给分配该块的函数的值相同。
_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 运行时库的调试版本。