Compartir a través de


_aligned_offset_malloc

Asigna memoria en un límite de alineación especificado.

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

Parámetros

  • [in] size
    Tamaño de la asignación de memoria solicitada.

  • [in] alignment
    Valor de la alineación, que debe ser un entero potencia de 2.

  • [in] offset
    Desplazamiento en la asignación de memoria para imponer la alineación.

Valor devuelto

Puntero al bloque de memoria que se asignó o NULL si se produjo un error en la operación.

Comentarios

_aligned_offset_malloc es útil en situaciones en las que la alineación se necesita en un elemento anidado, por ejemplo si se necesitara la alineación en una clase anidada.

_aligned_offset_malloc se basa en malloc. Para obtener más información, vea malloc.

_aligned_offset_malloc es __declspec(noalias) marcado y __declspec(restrict), lo que significa que la función está garantizada para no modificar variables globales y que el puntero devuelto no es con alias. Para obtener más información, vea noalias y limitado.

Esta función establece errno en ENOMEM si se produce un error en la asignación de memoria o si el tamaño solicitado es mayor que _HEAP_MAXREQ. Para obtener más información sobre errno, vea errno, _doserrno, _sys_errlist y _sys_nerr. Además, _aligned_offset_malloc valida sus parámetros. Si alignment no es una potencia de 2, o offset es mayor o igual que size y distinto de cero, esta función invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, la función devuelve NULL y establece errno en EINVAL.

Requisitos

Rutina

Encabezado necesario

_aligned_offset_malloc

<malloc.h>

Ejemplo

Para obtener más información, vea _aligned_malloc.

Vea también

Referencia

Alineación de datos