Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_aligned_realloc_dbg

Modifie la taille d'un bloc de mémoire qui a été allouée avec _aligned_malloc ou _aligned_offset_malloc (version debug uniquement).

void * _aligned_realloc_dbg(
   void *memblock, 
   size_t size, 
   size_t alignment,
   const char *filename,
   int linenumber 
);

[in] memblock

Le pointeur de bloc mémoire actuel.

[in] size

La taille de l'allocation de mémoire demandée.

[in] alignment

La valeur d'alignement, qui doit être une puissance entière de 2.

[in] filename

Le pointeur du nom du fichier source qui a demandé l'opération realloc ou NULL.

[in] linenumber

Numéro de ligne dans le fichier source où l'opération realloc ou NULL.

_aligned_realloc_dbg retourne un pointeur void sur le bloc mémoire realloué (et éventuellement déplacé). La valeur de retour est NULL si la taille est de zéro et que l'argument de mémoire tampon n'est pas NULL, ou s'il n'y a pas assez de mémoire disponible pour développer le bloc jusqu'à la taille spécifiée. Dans le premier cas, le bloc d'origine est libéré. Dans le deuxième, le bloc d'origine reste inchangé. Les valeur de retour pointent vers un espace de stockage, qui est garanti d'être aligné correctement pour le stockage de n'importe quel types d'objet. Pour obtenir un pointeur sur un type autre que void, utilisez un cast de type sur la valeur de retour.

C'est une erreur de réallouer la mémoire et de modifier l'alignement d'un bloc.

_aligned_realloc_dbg est une version Debug de la fonction _aligned_realloc. Lorsque _DEBUG n'est pas défini, chaque appel à _aligned_realloc_dbg est réduit à un appel à _aligned_realloc. A la fois _aligned_realloc et _aligned_realloc_dbg redimensionnent un bloc de mémoire dans la pile de base, mais _aligned_realloc_dbg s'adapte à plusieurs fonctionnalités de débogage : mémoires tampons de chaque côté de la partie utilisateur du bloc à déterminer des fuites, un paramètre de type de bloc pour suivre des types spécifiques d'allocation, et filename/linenumber pour déterminer l'origine des demandes d'allocation.

_aligned_realloc_dbg réalloue le bloc de mémoire spécifié avec légèrement plus d'espace que demandait newSize. newSize peut être supérieure ou inférieure à la taille du bloc de mémoire initialement alloué. L'espace supplémentaire est utilisé par le gestionnaire du tas de débogage pour lier les blocs de mémoire de débogage, pour fournir à l'application les informations d'en-tête du débogage et pour remplacer des mémoires tampons. Une redistribution peut avoir comme conséquence le déplacement du bloc mémoire d'origine vers un endroit de la pile, ainsi qu'en modifiant la taille du bloc de mémoire. Si le bloc de mémoire est déplacé, le contenu du bloc d'origine est remplacée.

_aligned_realloc_dbg définit errno à ENOMEM si une allocation de mémoire échoue ou si la quantité de mémoire nécessaire (charge mémoire y compris mentionnée précédemment) dépasse _HEAP_MAXREQ. Pour plus d'informations sur ces codes de retour et autres, consultez errno, _doserrno, _sys_errlist et _sys_nerr.

Aussi, _aligned_realloc_dbg valide ses paramètres. Si alignment n'est pas une puissance de 2, cette fonction appelle le gestionnaire de paramètre non valide, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction renvoie NULL et définit errno avec la valeur EINVAL.

Pour plus d'informations sur la façon dont les blocs de mémoire sont alloués, initialisés, et gérés dans la version de débogage de segment de base, consultez Gestion de la mémoire et le segment de débogage. Pour obtenir des informations sur les types de bloc d'allocation et leur utilisation, consultez Types de Blocs pour la pile de débogage. Pour plus d'informations sur les différences entre l'appel d'une fonction standard de segment par rapport à sa version de débogage dans une version de débogage d'une application, consultez Utilisation de la version de débogage par rapport à la version de base.

Routine

En-tête requis

_aligned_realloc_dbg

<crtdbg.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Bibliothèques

Seulement les versions debug des bibliothèques Runtime C.

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft