NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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).