NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Método

Definição

Importante

Esta API não está em conformidade com CLS.

Aloca um bloco de memória alinhado com o tamanho e alinhamento especificados, em bytes.

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>

Parâmetros

byteCount
UIntPtr

nuint

unativeint

O tamanho, em bytes, do bloco a alocar.

alignment
UIntPtr

nuint

unativeint

O alinhamento, em bytes, do bloco a alocar. Isto deve ser uma potência de 2.

Devoluções

Void*

Um apontador para o bloco de memória alinhado alocado.

Atributos

Exceções

alignment não é um poder de dois.

Alocação byteCount de memória com alignment falha.

Observações

Este método permite byteCount e 0 irá devolver um ponteiro válido que não deve ser desreferenciado e que deve ser passado para o livre para evitar fugas de memória.

Este método é um wrapper fino sobre a API C aligned_alloc ou uma API de alocação alinhada dependente da plataforma, como no _aligned_malloc Win32.

Este método não é compatível com Free(Void*) ou Realloc(Void*, UIntPtr). Em vez disso, ligue AlignedFree(Void*) ou AlignedRealloc(Void*, UIntPtr, UIntPtr).

Aplica-se a