NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Methode

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Weist 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(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>

Parameter

byteCount
UIntPtr

nuint

unativeint

Die Größe des zuzuordnenden Blocks in Bytes.

alignment
UIntPtr

nuint

unativeint

Die Ausrichtung des zuzuordnenden Blocks in Bytes. Dies muss eine Kraft von 2.

Gibt zurück

Void*

Ein Zeiger auf den zugewiesenen ausgerichteten Speicherblock.

Attribute

Ausnahmen

alignment ist keine Macht von zwei.

Fehler beim Zuordnen des Arbeitsspeichers byteCountalignment .

Hinweise

Diese Methode ermöglicht byteCount es, 0 einen gültigen Zeiger zurückzugeben, der nicht abgeleitet werden sollte und das 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 wie _aligned_malloc z. B. win32.

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

Gilt für: