NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
重要
此 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)。