NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) 方法

定义

重要

此 API 不符合 CLS。

分配指定大小和对齐方式(以字节为单位)的对齐内存块。

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>

参数

byteCount
UIntPtr

nuint

unativeint

要分配的块的大小(以字节为单位)。

alignment
UIntPtr

nuint

unativeint

要分配的块的对齐方式(以字节为单位)。 这必须是 的 2幂。

返回

Void*

指向已分配的对齐内存块的指针。

属性

例外

alignment 不是 2 的幂。

分配 byteCount 失败的内存 alignment

注解

此方法允许 byteCount0 将返回不应取消引用的有效指针,并且应将其传递给 free 以避免内存泄漏。

此方法是 C aligned_alloc API 或平台相关的对齐分配 API(如 _aligned_malloc Win32 上的)的精简包装器。

此方法与 Free(Void*)Realloc(Void*, UIntPtr)不兼容。 请改为调用 AlignedFree(Void*)AlignedRealloc(Void*, UIntPtr, UIntPtr)

适用于