_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.