Sdílet prostřednictvím


NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Metoda

Definice

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Přidělí zarovnaný blok paměti zadané velikosti a zarovnání v bajtech.

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>

Parametry

byteCount
UIntPtr

nuint

unativeint

Velikost bloku, který se má přidělit, v bajtech.

alignment
UIntPtr

nuint

unativeint

Zarovnání bloku, který se má přidělit, v bajtech. To musí být síla 2.

Návraty

Void*

Ukazatel na přidělený zarovnaný blok paměti.

Atributy

Výjimky

alignment není mocnina dvou.

Přidělení byteCount paměti pomocí alignment se nezdařilo.

Poznámky

Tato metoda umožňuje byteCount být 0 a vrátí platný ukazatel, který by neměl být dereferencován a který by měl být předán do volného, aby se zabránilo nevracení paměti.

Tato metoda je tenká obálka přes rozhraní API jazyka C aligned_alloc nebo rozhraní API pro přidělování zarovnané na platformě, například _aligned_malloc ve Win32.

Tato metoda není kompatibilní s Free(Void*) nebo Realloc(Void*, UIntPtr). Místo toho zavolejte AlignedFree(Void*) nebo AlignedRealloc(Void*, UIntPtr, UIntPtr).

Platí pro