Share via


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 不是兩個的乘冪。

配置 byteCount 失敗的 alignment 記憶體。

備註

這個方法允許 byteCount 和會 0 傳回不應該被取值的有效指標,而且應該傳遞以釋放以避免記憶體流失。

此方法是透過 C aligned_alloc API 或平臺相依的對齊配置 API,例如 _aligned_malloc Win32 上的精簡包裝函式。

這個方法與 或Realloc(Void*, UIntPtr)不相容Free(Void*)。 請改為呼叫 AlignedFree(Void*)AlignedRealloc(Void*, UIntPtr, UIntPtr)

適用於