NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Önemli
Bu API, CLS uyumlu değildir.
Belirtilen boyutta ve hizalamada bayt cinsinden hizalanmış bir bellek bloğu ayırır.
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>
Parametreler
- byteCount
-
UIntPtr
nuint
unativeint
Ayrılacak bloğun bayt cinsinden boyutu.
- alignment
-
UIntPtr
nuint
unativeint
Ayrılacak bloğun bayt cinsinden hizalaması. Bu bir güç 2
olmalıdır.
Döndürülenler
Ayrılan hizalanmış bellek bloğunun işaretçisi.
- Öznitelikler
Özel durumlar
alignment
iki güç değildir.
Başarısız olan alignment
bellek ayırmabyteCount
.
Açıklamalar
Bu yöntem, başvurulmaması gereken ve bellek sızıntılarını önlemek için serbest olarak geçirilmesi gereken geçerli bir işaretçi olmasını sağlar byteCount
0
ve döndürür.
Bu yöntem, C aligned_alloc
API üzerinde ince bir sarmalayıcı veya Win32 gibi _aligned_malloc
platforma bağlı hizalanmış ayırma API'sidir.
Bu yöntem veya Realloc(Void*, UIntPtr)ile Free(Void*) uyumlu değildir. Bunun yerine veya AlignedRealloc(Void*, UIntPtr, UIntPtr)çağrısı AlignedFree(Void*) yapın.