NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Metod

Definition

Viktigt!

Detta API uppfyller inte CLS.

Allokerar ett justerat minnesblock med den angivna storleken och justeringen i byte.

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

Parametrar

byteCount
UIntPtr

nuint

unativeint

Storleken, i byte, på blocket som ska allokeras.

alignment
UIntPtr

nuint

unativeint

Justeringen i byte av blocket som ska allokeras. Det här måste vara en kraft i 2.

Returer

Void*

En pekare till det allokerade justerade minnesblocket.

Attribut

Undantag

alignment är inte en kraft av två.

Allokeringen byteCount av minne med alignment misslyckades.

Kommentarer

Den här metoden tillåter byteCount att vara 0 och returnerar en giltig pekare som inte ska avrefereras och som ska skickas utan kostnad för att undvika minnesläckor.

Den här metoden är en tunn omslutning över C-API aligned_alloc :et eller ett plattformsberoende justerat allokerings-API, till exempel _aligned_malloc på Win32.

Den här metoden är inte kompatibel med Free(Void*) eller Realloc(Void*, UIntPtr). Anropa AlignedFree(Void*) i stället eller AlignedRealloc(Void*, UIntPtr, UIntPtr).

Gäller för