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)>]
static member AlignedAlloc : unativeint * unativeint -> nativeptr<unit>

パラメーター

byteCount
UIntPtr

nuint

unativeint

割り当てるブロックのサイズ (バイト単位)。

alignment
UIntPtr

nuint

unativeint

割り当てるブロックのアラインメント (バイト単位)。 これは 2 の累乗である必要があります。

戻り値

Void*

割り当てられたメモリ のアラインされたブロックへのポインター。

属性

例外

alignment は 2 の力ではありません。

失敗した byteCount メモリ alignment の割り当て。

注釈

このメソッドは、byteCount``0逆参照すべきではなく、メモリ リークを回避するために free に渡す必要がある有効なポインターを返すことができます。

このメソッドは、C aligned_alloc API または Win32 などの _aligned_malloc プラットフォームに依存するアラインメント割り当て API に対するシン ラッパーです。

このメソッドは、 Free(Void*) または Realloc(Void*, UIntPtr). 代わりに、呼び出し AlignedFree(Void*) または AlignedRealloc(Void*, UIntPtr, UIntPtr).

適用対象