Aracılığıyla paylaş


_aligned_offset_malloc

Belirtilen hizalama sınırına bellek ayırır.

void * _aligned_offset_malloc(
   size_t size, 
   size_t alignment, 
   size_t offset
);

Parametreler

  • [in]size
    İstenen bellek ayırma boyutu.

  • [in]alignment
    2 Tamsayı gücünü olmalıdır hizalama değeri.

  • [in]offset
    Hizalama zorlamak için bellek ayırma Ofset.

Dönüş Değeri

Ayrılmış olan bellek bloğu için bir işaretçi veya NULL , işlem başarısız oldu.

Notlar

_aligned_offset_mallochizalama iç içe geçmiş bir öğe burada gereken durumlarda kullanışlıdır. Örneğin, iç içe geçmiş bir sınıf üzerinde hizalama gerekiyorsa.

_aligned_offset_mallocesas malloc; Daha fazla bilgi için bkz: malloc.

_aligned_offset_mallocişaretlenmiş __declspec(noalias) ve __declspec(restrict), işlev genel değişkenleri değiştirmek için garantili ve işaretçiyi verdiğini başka ad verilmiş değil.Daha fazla bilgi için bkz: noalias ve kısıtlamak.

Bu işlevi ayarlar errno için ENOMEM bellek ayırma başarısız olursa veya istenen boyuta büyük _HEAP_MAXREQ.errno hakkında daha fazla bilgi için, bkz. errno, _doserrno, _sys_errlist, and _sys_nerr.Ayrıca, _aligned_offset_malloc kendi parametreleri doğrulama.alignment 2'nin üssü değil veya offset 'den büyük veya eşit olması size sıfır olmayan, bu işlevi geçersiz parametre işleyicisi açıklandığı gibi çağırır ve Parametre Doğrulama.Yürütülmesine devam etmek için izin verilip verilmediğini, bu işlev verir NULL ve errno için EINVAL.

Gereksinimler

Yordamı

Gerekli başlık

_aligned_offset_malloc

<malloc.h>

Örnek

Daha fazla bilgi için bkz: _aligned_malloc.

Ayrıca bkz.

Başvuru

Veri Hizalama