_aligned_offset_malloc

分配在指定的对齐边界的内存。

void * _aligned_offset_malloc(
   size_t size, 
   size_t alignment, 
   size_t offset
);

参数

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

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

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

返回值

对分配或 NULL的指针内存块,如果操作失败。

备注

_aligned_offset_malloc 可用于对齐需要进行在嵌套的元素的情况;例如,因此,如果 " 对齐 " 为需要的在嵌套类。

_aligned_offset_malloc 基于 malloc;有关更多信息,请参见 malloc

_aligned_offset_malloc 标记为 __declspec(noalias)__declspec(restrict),这意味着函数保证不修改全局变量,返回的指针没有抗锯齿。 有关更多信息,请参见 noalias限制

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

要求

实例

必需的头

_aligned_offset_malloc

malloc.h

示例

有关更多信息,请参见 _aligned_malloc

请参见

参考

数据对齐