Aracılığıyla paylaş


_aligned_offset_recalloc_dbg

İle ayrılan bir bellek blok boyutunu değiştirir _aligned_malloc veya _aligned_offset_malloc ve bellek 0 (yalnızca hata ayıklama sürümü) başlatır.

void * _aligned_offset_recalloc_dbg(    void *memblock,     size_t num,     size_t size,     size_t alignment,    size_t offset,    const char *filename,    int linenumber );

Parametreler

  • [in]memblock
    Geçerli bellek blok işaretçisi.

  • [in]num
    Öğe sayısı.

  • [in]size
    Her öğenin bayt cinsinden uzunluğu.

  • [in]alignment
    Hizalama değeri bir tamsayı güç 2 olmalıdır.

  • [in]offset
    İçine hizalama zorlamak için bellek ayırma uzaklığı.

  • [in]filename
    İstenen kaynak dosya adı işaretçisine realloc işlemi veya NULL.

  • [in]linenumber
    Satır numarası kaynak dosyasındaki nerede realloc işlemi istenen veya NULL.

Dönüş Değeri

_aligned_offset_recalloc_dbgvoid bir işaretçi bırakılan (ve büyük olasılıkla taşınan) bellek bloğuna döndürür.Dönüş değeri NULL boyutu sıfırsa ve arabellek bağımsız değişkeni değil NULL, veya blok belirtilen boyuta genişletmek için yeterli kullanılabilir bellek değilse.Bu durumda, özgün blok serbest kalır.İkinci durumda özgün blok değiştirilmez.Dönüş değeri herhangi bir türde nesne depolama için uygun hizalanması garantili olan bir depolama alanı gösteriyor.Dönüş değerini cast türü void, kullanım farklı bir türü için bir işaretçi almak için.

Notlar

_aligned_offset_realloc_dbgbir hata ayıklama sürümü _aligned_offset_recalloc işlev.Zaman _DEBUG tanımlı değil, her çağrı _aligned_offset_recalloc_dbg _ bir çağrı azalıraligned_offset_recalloc.Her iki _aligned_offset_recalloc ve _aligned_offset_recalloc_dbg temel Öbek bellek bloğunda yeniden ayırmak ancak _aligned_offset_recalloc_dbg birkaç hata ayıklama özelliklerini kapsar: arabellek sızıntıları, belirli bir ayırma türleri, izlemek için bir blok türü parametresi sınamak için blok kullanıcı bölümünü her iki tarafındaki ve filename/linenumber ayırma isteklerini kaynağını belirlemek için bilgi.

_aligned_offset_realloc_dbgİstenen biraz daha fazla alanı ile belirtilen bellek bloğu yeniden tahsis ederse newSize.newSizebüyük veya başlangıçta ayrılan bellek bloğun boyutundan küçük olabilir.Ek boşluk hata ayıklama bellek blokları bağlantısını ve hata ayıklama üstbilgi bilgileri uygulamayla sağlamak ve arabellek üzerine yazmak için hata ayıklama öbek Yöneticisi tarafından kullanılır.Tahsisat özgün bellek bloğu öbek farklı bir konuma taşıma, yanı sıra bellek blok boyutunu değiştirme neden olabilir.Bellek bloğu taşıdıysanız özgün blok içeriği üzerine yazılır.

Bu işlev ayarlar errno için ENOMEM bellek ayırma başarısız olursa veya istenen boyutu (num * size) değerinden büyüktü _HEAP_MAXREQ.errno hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlist, and _sys_nerr.Ayrıca, _aligned_offset_recalloc_dbg parametrelerini doğrular.Varsa alignment 2'in üssü değil veya offset sıfırdan büyük veya istenen boyutuna eşit ve sıfır dışında bu işlev açıklandığı gibi geçersiz bir parametre işleyici çağırır Parametre Doğrulama.Bu işlev döndürür yürütme devam etmek için izin verilip verilmediğini, NULL ve ayarlar errno için EINVAL.

Nasıl bellek blokları ayrılan, başlatılır ve temel öbek hata ayıklama sürümünü yönetilen hakkında daha fazla bilgi için bkz CRT Hata Ayıklama Öbeği Ayrıntıları.Ayırma blok türlerini ve bunların nasıl kullanıldığı hakkında daha fazla bilgi için bkz hata ayıklama yığında blokları türleri.Bir uygulamanın hata ayıklama yapı içinde bir standart öbek işlev ve hata ayıklama sürümünü çağırma arasındaki farklar hakkında daha fazla bilgi için bkz Öbek Atama İşlevleri Hata Ayıklama Sürümleri.

Gereksinimler

Yordam

Gerekli başlık

_aligned_offset_recalloc_dbg

< malloc.h >

.NET Framework Eşdeğeri

Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için Platform çağırma örnekler.

Ayrıca bkz.

Başvuru

Veri Hizalama