Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

_aligned_offset_malloc_dbg

Asigna memoria en un límite de alineación especificado (versión de depuración solo).

void * _aligned_offset_malloc_dbg(
   size_t size, 
   size_t alignment, 
   size_t offset,
   const char *filename,
   int linenumber 
);

[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.

[in] filename

Puntero al nombre del archivo de código fuente que solicitó la operación de asignación o el valor NULL.

[in] linenumber

Número de línea en el archivo de código fuente donde la operación de asignación se solicitó o NULL.

Un puntero al bloque de memoria que fue asignado o a NULLsi se produjo un error en la operación.

_aligned_offset_malloc_dbg es una versión de depuración de la función de _aligned_offset_malloc . Cuando _DEBUG no está definido, cada llamada a _aligned_offset_malloc_dbg se reduce a una llamada a _aligned_offset_malloc. _aligned_offset_malloc y _aligned_offset_malloc_dbg asignan un bloque de memoria del montón base, pero _aligned_offset_malloc_dbg proporciona varias características de depuración: búferes situados a cada lado de la parte del usuario del bloque para comprobar que escape, un parámetro blocktype para realizar tipos específicos de asignación, y filename/información delinenumber determinan el origen de las solicitudes de asignación.

_aligned_offset_malloc_dbg asigna el bloque de memoria con ligeramente más espacio que sizesolicitado. El espacio adicional usa el administrador del montón de depuración para vincular los bloques de memoria de depuración y proporcionar la aplicación con la información de encabezado de depuración y sobrescribir los búferes. Cuando se asigna el bloque, rellenan a la parte del usuario de bloque con el valor 0xCD y cada uno de los búferes sobrescribirán se rellena con 0xFD.

_aligned_offset_malloc_dbg 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_dbg se basa en malloc; para obtener más información, vea malloc.

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.

Para obtener información sobre cómo los bloques de memoria se asignan, inicialice, y se administran en la versión de depuración del montón base, vea Administración de memoria y el montón de depuración.

Para obtener información sobre la asignación bloquee los tipos y cómo se utilizan, vea Tipos de bloques del montón de depuración.

rutina

Encabezado necesario

_aligned_offset_malloc_dbg

<crtdbg.h>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

bibliotecas

Versiones de depuración de Bibliotecas en tiempo de ejecución de C únicamente.

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

Adiciones de comunidad

AGREGAR
Mostrar: