_aligned_offset_malloc

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

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

Paramètres

  • [in] size
    la taille de l'allocation de mémoire demandée.

  • [in] alignment
    La valeur d'inscription, qui doit être une puissance entière à 2.

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

Valeur de retour

Un pointeur vers le bloc de mémoire alloué ou à NULLsi l'opération a échoué.

Notes

_aligned_offset_malloc est utile dans les situations où l'inscription est nécessaire sur un élément imbriqué ; par exemple, si alignment est nécessaire sur une classe imbriquée.

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

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

Cette fonction définit errno à ENOMEM si l'allocation de mémoire a échoué ou si la taille demandée est supérieure à _HEAP_MAXREQ.Pour plus d'informations sur errno, consultez errno, _doserrno, _sys_errlist, et _sys_nerr.en outre, _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 une valeur différente de zéro, cette fonction appelle le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, retourne NULL de cette fonction et définit errno à EINVAL.

Configuration requise

routine

en-tête requis

_aligned_offset_malloc

<malloc.h>

Exemple

Pour plus d'informations, consultez _aligned_malloc.

Voir aussi

Référence

Alignement de données