NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla