NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Metodo

Definizione

Importante

Questa API non è conforme a CLS.

Alloca un blocco allineato di memoria delle dimensioni e dell'allineamento specificati, in byte.

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>

Parametri

byteCount
UIntPtr

nuint

unativeint

Dimensioni, in byte, del blocco da allocare.

alignment
UIntPtr

nuint

unativeint

Allineamento, in byte, del blocco da allocare. Questo deve essere un potere di 2.

Restituisce

Void*

Puntatore al blocco allineato di memoria allocato.

Attributi

Eccezioni

alignment non è una potenza di due.

Allocazione byteCount della memoria con alignment errore.

Commenti

Questo metodo consente byteCount di essere 0 e restituirà un puntatore valido che non deve essere dereferenziato e che deve essere passato gratuitamente per evitare perdite di memoria.

Questo metodo è un wrapper sottile sull'API C aligned_alloc o un'API di allocazione allineata dipendente dalla piattaforma, ad esempio _aligned_malloc in Win32.

Questo metodo non è compatibile con Free(Void*) o Realloc(Void*, UIntPtr). Invece, chiamare AlignedFree(Void*) o AlignedRealloc(Void*, UIntPtr, UIntPtr).

Si applica a