_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
El tamaño de asignación de memoria solicitada.[in] alignment
El valor alignment, que debe ser una potencia entero de 2.[in] offset
el desplazamiento en la asignación de memoria para forzar la alineación.
Valor devuelto
Un puntero al bloque de memoria que fue asignado o a NULLsi se produjo un error en la operación.
Comentarios
_aligned_offset_malloc es útil en situaciones donde es necesaria la alineación en un elemento anidado; por ejemplo, si alignment es necesaria 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 a ENOMEM aunque falle la asignación de memoria o si el tamaño solicitado era 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 si es offset mayor o igual size y distinto de cero, esta función invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, esta función devuelve NULL y establece errno a EINVAL.
Requisitos
rutina |
Encabezado necesario |
---|---|
_aligned_offset_malloc |
<malloc.h> |
Ejemplo
Para obtener más información, vea _aligned_malloc.