Freigeben über


NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Methode

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Ordnet einen ausgerichteten Speicherblock der angegebenen Größe und Ausrichtung in Bytes zu.

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>

Parameter

byteCount
UIntPtr

nuint

unativeint

Die Größe des zuzuordnenden Blocks in Bytes.

alignment
UIntPtr

nuint

unativeint

Die Ausrichtung des zu zuordnenden Blocks in Bytes. Dies muss eine Macht von 2sein.

Gibt zurück

Void*

Ein Zeiger auf den zugeordneten, ausgerichteten Speicherblock.

Attribute

Ausnahmen

alignment ist keine Macht von zwei.

Zuweisung byteCount des Arbeitsspeichers mit alignment fehler.

Hinweise

Diese Methode ermöglicht byteCount0 und gibt einen gültigen Zeiger zurück, der nicht abgeleitet werden sollte und an frei übergeben werden sollte, um Speicherverluste zu vermeiden.

Diese Methode ist ein dünner Wrapper über die C-API aligned_alloc oder eine plattformabhängige, ausgerichtete Zuordnungs-API, z _aligned_malloc . B. für Win32.

Diese Methode ist nicht mit Free(Void*) oder Realloc(Void*, UIntPtr)kompatibel. Rufen Sie stattdessen oder AlignedRealloc(Void*, UIntPtr, UIntPtr)aufAlignedFree(Void*).

Gilt für: