Bagikan melalui


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 untuk 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 penunjuk yang valid yang tidak boleh didereferensikan dan yang harus diteruskan ke bebas untuk menghindari kebocoran memori.

Metode ini adalah pembungkus tipis melalui C aligned_alloc API 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