_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_errlist
et _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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour