NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Метод

Определение

Внимание

Этот API несовместим с CLS.

Выделяет выровненный блок памяти указанного размера и выравнивания в байтах.

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>

Параметры

byteCount
UIntPtr

nuint

unativeint

Размер блока в байтах для выделения.

alignment
UIntPtr

nuint

unativeint

Выравнивание в байтах блока для выделения. Это должна быть сила 2.

Возвращаемое значение

Void*

Указатель на выделенный выровненный блок памяти.

Атрибуты

Исключения

alignment не сила двух.

Выделение byteCount памяти сбоем alignment .

Комментарии

Этот метод позволяет byteCount и 0 будет возвращать допустимый указатель, который не следует разыменовывать и который следует передавать бесплатно, чтобы избежать утечки памяти.

Этот метод представляет собой тонкую оболочку через API C aligned_alloc или зависимый от платформы API распределения, например _aligned_malloc в Win32.

Этот метод несовместим с Free(Void*) или Realloc(Void*, UIntPtr)не совместим. Вместо этого вызов AlignedFree(Void*) или AlignedRealloc(Void*, UIntPtr, UIntPtr).

Применяется к