Nous recommandons d’utiliser Visual Studio 2017

_aligned_offset_malloc_dbg

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Alloue de la mémoire sur une limite d’alignement spécifié (version debug uniquement).

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

Paramètres

[in] size
Taille de l'allocation de mémoire demandée.

[in] alignment
Valeur d'alignement, qui doit être un entier à puissance 2.

[in] offset
Décalage dans l'allocation de mémoire pour forcer l'alignement.

[in] filename
Pointeur vers le nom du fichier source qui a demandé l'opération d'allocation ou NULL.

[in] linenumber
Numéro de ligne dans le fichier source où l'opération d'allocation a été demandée ou NULL.

Pointeur vers le bloc de mémoire qui a été alloué ou NULL si l'opération a échoué.

_aligned_offset_malloc_dbgest une version debug de la _aligned_offset_malloc (fonction). Lors de la _DEBUG n’est pas défini, chaque appel à _aligned_offset_malloc_dbg est réduit à un appel à _aligned_offset_malloc. Les deux _aligned_offset_malloc et _aligned_offset_malloc_dbg allouer un bloc de mémoire dans le tas de base, mais _aligned_offset_malloc_dbg propose plusieurs fonctionnalités de débogage : mémoires tampons de chaque côté de la partie utilisateur du bloc pour vérifier la présence de fuites, un paramètre de type de bloc pour effectuer le suivi des types d’allocation spécifiques et filename / linenumber plus d’informations pour déterminer l’origine des demandes d’allocation.

_aligned_offset_malloc_dbg alloue le bloc de mémoire avec un peu plus d'espace que la valeur size demandée. L'espace supplémentaire est utilisé par le gestionnaire de tas de débogage pour lier les blocs de mémoire de débogage et pour fournir à l'application des informations sur les en-têtes de débogage et les mémoires tampons de remplacement. Quand le bloc est alloué, la partie utilisateur du bloc est renseignée avec la valeur 0xCD et chaque mémoire tampon de remplacement est renseignée avec la valeur 0xFD.

_aligned_offset_malloc_dbgest utile dans les situations où l’alignement est nécessaire sur un élément imbriqué ; par exemple, si l’alignement était nécessaire sur une classe imbriquée.

_aligned_offset_malloc_dbgest basé sur malloc; pour plus d’informations, consultez malloc.

Cette fonction affecte à errno la valeur ENOMEM si l'allocation de mémoire a échoué ou si la taille demandée était supérieure à _HEAP_MAXREQ. Pour plus d’informations sur errno, consultez errno, _doserrno, _sys_errlist et _sys_nerr. De plus, _aligned_offset_malloc valide ses paramètres. Si alignment n’est pas une puissance de 2 ou si offset est supérieure ou égale à size et différent de zéro, 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 retourne NULL et affecte la valeur errno à 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 du tas de base, voir CRT Debug Heap Details.

Pour plus d’informations sur les types de blocs d’allocation et comment elles sont utilisées, consultez Types de bloc sur le tas de débogage.

RoutineEn-tête requis
_aligned_offset_malloc_dbg<crtdbg.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility dans l’introduction.

Les versions Debug de les bibliothèques Runtime C uniquement.

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

Routines de débogage

Afficher: