Partage via


_aligned_offset_malloc

Alloue de la mémoire sur une limite d'alignement spécifiée.

Syntaxe

void * _aligned_offset_malloc(
   size_t size,
   size_t alignment,
   size_t offset
);

Paramètres

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

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

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

Valeur retournée

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

Notes

_aligned_offset_malloc est utile quand l’alignement est nécessaire sur un élément imbriqué, par exemple, sur une classe imbriquée.

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

_aligned_offset_malloc est marqué __declspec(noalias) et __declspec(restrict), ce qui signifie que la fonction est garantie de ne pas modifier les variables globales et que le pointeur retourné n’est pas alias. Pour plus d’informations, consultez noalias et restrict.

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, voir errno, _doserrno, , _sys_errlistet _sys_nerr. De plus, _aligned_offset_malloc valide ses paramètres. Si alignment ce n’est pas une puissance de 2, ou s’il offset n’est pas égal ou égal sizeà zéro, cette fonction appelle le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à se poursuivre, cette fonction retourne NULL et affecte la valeur errno à EINVAL.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Routine En-tête requis
_aligned_offset_malloc <malloc.h>

Exemple

Pour plus d’informations, consultez _aligned_malloc.

Voir aussi

Alignement des données