_aligned_offset_malloc

 

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

Alloue de la mémoire sur la base d'un alignement spécifié

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'alignement, qui doit être une puissance entière de 2.

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

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

_aligned_offset_malloc est utile dans les cas où il est nécessaire dans un élément imbriqué ; par exemple, si un alignement est nécessaire dans 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) ; cela signifie que la fonction ne modifiera pas de variables globales et que le pointeur retourné n'est pas sous la forme d'un alias. Pour plus d'informations, consultez noalias et restrict.

Cette fonction alloue à errno la valeur 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. Aussi, _aligned_offset_malloc valide ses paramètres. Si alignment n'est pas une puissance de 2 ou si offset est supérieur ou égal à size et une valeur différente 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 renvoie NULL et définit errno avec la valeur EINVAL.

RoutineEn-tête requis
_aligned_offset_malloc<malloc.h>

Pour plus d'informations, consultez aligned_malloc.

Alignement des données

Afficher: