_aligned_offset_malloc

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

Sintaxis

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

Parámetros

size
Tamaño de la asignación de memoria solicitada.

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

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 está marcado __declspec(noalias) como y __declspec(restrict), lo que significa que se garantiza que la función no modifique las variables globales y que el puntero devuelto no tenga alias. Para obtener más información, vea noalias y restrict.

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, consulte 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 si offset no es cero y mayor o igual que size, esta función invoca al 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.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Routine Encabezado necesario
_aligned_offset_malloc <malloc.h>

Ejemplo

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

Consulte también

Alineación de datos