_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.