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(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>
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üç 2olmalı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 byteCount0 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.