Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_recalloc_dbg

Reasigna una matriz e inicializa sus elementos en 0 (versión de depuración solo).

void *_recalloc_dbg( 
   void *userData,
   size_t num,
   size_t size,
   int blockType,
   const char *filename,
   int linenumber 
);

userData

Puntero al bloque de memoria asignado previamente.

num

Número de bloques de memoria solicitado.

size

Tamaño de cada bloque de memoria solicitado (bytes).

blockType

Tipo de bloque de memoria solicitado: _CLIENT_BLOCK o _NORMAL_BLOCK.

Para obtener información sobre la asignación de tipos de bloque y cómo se usan, vea Tipos de bloques en el montón de depuración.

filename

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

linenumber

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

Los parámetros filename y linenumber solo están disponibles cuando se ha llamado a _recalloc_dbg explícitamente o se ha definido la constante de preprocesador _CRTDBG_MAP_ALLOC.

Cuando se lleva a cabo correctamente, esta función devuelve un puntero a la parte del usuario del bloque de memoria reasignado, llama a la nueva función de controlador o devuelve NULL. Para obtener una descripción completa del comportamiento de retorno, vea la sección de comentarios más abajo. Para obtener más información sobre cómo se usa la nueva función de controlador, vea la función de _recalloc .

_recalloc_dbg es una versión de depuración de la función _recalloc. Si no se define _DEBUG, cada llamada a _recalloc_dbg se reduce a una llamada a _recalloc. _recalloc y _recalloc_dbg reasignan un bloque de memoria del montón base, pero _recalloc_dbg admite varias características de depuración: búferes situados a cada lado de la parte del usuario del bloque en el que se va a comprobar si hay pérdidas, un parámetro de tipo de bloque para realizar el seguimiento de tipos de asignación concretos, e información sobre filename o linenumber para determinar el origen de las solicitudes de asignación.

_recalloc_dbg reasigna el bloque de memoria especificado con ligeramente más espacio que el tamaño solicitado (num * size) que sea mayor o menor que el tamaño del bloque de memoria originalmente asignado. El administrador del montón de depuración usa el espacio adicional para vincular los bloques de memoria de depuración, y para proporcionar a la aplicación información de encabezado de depuración y sobrescribir los búferes. La reasignación podría hacer que el bloque de memoria original se ponga en una ubicación distinta del montón y cambiar el tamaño del bloque de memoria. 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.

_recalloc_dbg establece errno en ENOMEM si se produce un error de asignación de memoria. Se devuelve EINVAL si la cantidad de memoria necesaria (incluida la sobrecarga ya mencionada) es mayor que _HEAP_MAXREQ. Para obtener más información sobre este y otros códigos de error, vea errno, _doserrno, _sys_errlist y _sys_nerr.

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 las diferencias entre llamar a una función estándar de la pila en la versión de depuración en una compilación de depuración de una aplicación, vea Con la versión Versus de depuración la versión base.

Rutina

Encabezado necesario

_recalloc_dbg

<crtdbg.h>

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

Bibliotecas

Solo las versiones de depuración de las bibliotecas en tiempo de ejecución de C.

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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft