NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Metode

Definisi

Penting

API ini bukan kompatibel CLS.

Mengalokasikan blok memori yang selaras dengan ukuran dan perataan yang ditentukan, dalam byte.

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

Ukuran, dalam byte, dari blok yang akan dialokasikan.

alignment
UIntPtr

nuint

unativeint

Perataan, dalam byte, dari blok untuk dialokasikan. Ini harus menjadi kekuatan 2.

Mengembalikan

Void*

Penunjuk ke blok memori yang selaras yang dialokasikan.

Atribut

Pengecualian

alignment bukan kekuatan dua.

Mengalokasikan byteCount memori dengan alignment gagal.

Keterangan

Metode ini memungkinkan byteCount untuk menjadi 0 dan akan mengembalikan pointer yang valid yang tidak boleh didereferensikan dan yang harus diteruskan ke bebas untuk menghindari kebocoran memori.

Metode ini adalah pembungkus tipis melalui API C aligned_alloc atau API alokasi selaras dependen platform seperti _aligned_malloc pada Win32.

Metode ini tidak kompatibel dengan Free(Void*) atau Realloc(Void*, UIntPtr). Sebagai gantinya, panggil AlignedFree(Void*) atau AlignedRealloc(Void*, UIntPtr, UIntPtr).

Berlaku untuk