Condividi tramite


NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Metodo

Definizione

Importante

Questa API non è conforme a CLS.

Alloca un blocco allineato di memoria delle dimensioni e dell'allineamento specificate, 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

Dimensione, in byte, del blocco da allocare.

alignment
UIntPtr

nuint

unativeint

Allineamento, in byte, del blocco da allocare. Deve essere una potenza di 2.

Restituisce

Void*

Puntatore al blocco di memoria allineato allocato.

Attributi

Eccezioni

alignment non è un potere di due.

Allocazione byteCount della memoria con alignment errore.

Commenti

Questo metodo consente di byteCount essere 0 e restituirà un puntatore valido che non deve essere dereferenziato e che deve essere passato a libero 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 _aligned_malloc esempio in Win32.

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

Si applica a