Udostępnij za pośrednictwem


NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Metoda

Definicja

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Przydziela wyrównany blok pamięci o określonym rozmiarze i wyrównaniu w bajtach.

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

Rozmiar bloku do przydzielenia w bajtach.

alignment
UIntPtr

nuint

unativeint

Wyrównanie w bajtach bloku do przydzielenia. Musi to być moc .2

Zwraca

Void*

Wskaźnik do przydzielonego bloku wyrównanej pamięci.

Atrybuty

Wyjątki

alignment nie jest mocą dwóch.

Przydzielanie byteCount pamięci z alignment niepowodzeniem.

Uwagi

Ta metoda pozwala byteCount na 0 zwrócenie prawidłowego wskaźnika, który nie powinien być wyłuszczone i który należy przekazać, aby uniknąć przecieków pamięci.

Ta metoda jest cienką otoką interfejsu API języka C aligned_alloc lub interfejsem API alokacji zależnym od platformy, takim jak _aligned_malloc win32.

Ta metoda nie jest zgodna z Free(Void*) programem lub Realloc(Void*, UIntPtr). Zamiast tego wywołaj polecenie AlignedFree(Void*) lub AlignedRealloc(Void*, UIntPtr, UIntPtr).

Dotyczy