Partager via


NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Méthode

Définition

Important

Cette API n’est pas conforme CLS.

Alloue un bloc de mémoire aligné de la taille et de l’alignement spécifiés, en octets.

public:
 static void* AlignedAlloc(UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
public static void* AlignedAlloc (nuint byteCount, nuint alignment);
[System.CLSCompliant(false)]
public static void* AlignedAlloc (UIntPtr byteCount, UIntPtr alignment);
[<System.CLSCompliant(false)>]
static member AlignedAlloc : unativeint * unativeint -> nativeptr<unit>

Paramètres

byteCount
UIntPtr

nuint

unativeint

Taille, en octets, du bloc à allouer.

alignment
UIntPtr

nuint

unativeint

Alignement, en octets, du bloc à allouer. Il doit s’agir d’une puissance de 2.

Retours

Void*

Pointeur vers le bloc de mémoire aligné alloué.

Attributs

Exceptions

alignment n’est pas une puissance de deux.

L’allocation byteCount de mémoire avec alignment échec.

Remarques

Cette méthode permet byteCount d’être 0 et retourne un pointeur valide qui ne doit pas être déréférencé et qui doit être passé à libre pour éviter les fuites de mémoire.

Cette méthode est un wrapper fin sur l’API C aligned_alloc ou une API d’allocation alignée dépendante de la plateforme, comme _aligned_malloc sur Win32.

Cette méthode n’est pas compatible avec Free(Void*) ou Realloc(Void*, UIntPtr). Au lieu de cela, appelez AlignedFree(Void*) ou AlignedRealloc(Void*, UIntPtr, UIntPtr).

S’applique à