Aracılığıyla paylaş


_aligned_offset_malloc_dbg

Belirtilen hizalama sınırına (yalnızca hata ayıklama sürümü) bellek ayırır.

void * _aligned_offset_malloc_dbg(
   size_t size, 
   size_t alignment, 
   size_t offset,
   const char *filename,
   int linenumber 
);

Parametreler

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

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

  • [in] offset
    Hizalama zorlamak için bellek ayırma göreli uzaklığı.

  • [in] filename
    Ayırma işlemi ya da NULL istenen kaynak dosyasının adı için işaretçi.

  • [in] linenumber
    NULL veya satır numarası kaynak dosyadaki nerede ayırma işlemi istendi.

Dönüş Değeri

Ayrılmış bellek bloğuna veya NULL , işlem başarısız oldu.

Notlar

_aligned_offset_malloc_dbgbir hata ayıklama sürümü _aligned_offset_malloc işlev.Zaman _DEBUG tanımlı değilse, her arama _aligned_offset_malloc_dbg bir çağrı için sınırlı _aligned_offset_malloc.Her ikisi de _aligned_offset_malloc ve _aligned_offset_malloc_dbg temel yığınındaki bellek bloğunu tahsis ancak _aligned_offset_malloc_dbg birkaç hata ayıklama özellikleri sunar: arabellekleri her iki tarafındaki sızıntıları, belirli ayırma, izlemek için bir blok türü parametresi sınamak için blok kullanıcı bölümünü ve filename/linenumber ayırma isteklerini kaynağını belirlemek için bilgi.

_aligned_offset_malloc_dbgİstenen biraz daha fazla alan içeren bellek bloğu ayırır size.Ek alan tarafından hata ayıklama yığın yöneticisinin hata ayıklama bellek bloklarını bağlama ve uygulama ile hata ayıklama başlık bilgilerini sağlar ve arabellekleri üzerine yazmak için kullanılır.Blok tahsis edilirken blok kullanıcı bölümünü 0xCD değerle doldurulur ve 0xFD ile doldurulan her birinin üzerine yazma arabelleği.

_aligned_offset_malloc_dbgHizalama iç içe öğe üzerinde nerede gerektiği durumlarda kullanışlıdır; Örneğin, iç içe geçmiş bir sınıf üzerinde hizalama gerekiyorsa.

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

Bu işlevi ayarlar errno için ENOMEM bellek ayırma başarısız oldu 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 parametreleri doğrular.Yoksa alignment 2'in üssü değil veya offset eşit veya daha büyük size ve sıfır olmayan bir değer, bu işlevi geçersiz bir parametre işleyicisi açıklandığı gibi çağırır Parametre Doğrulama.Yürütmenin devam etmesine izin verilirse, bu işlev NULL döndürür ve errno öğesini EINVAL olarak ayarlar.

Bellek bloklarının taban yığının hata ayıklama sürümünde nasıl ayrıldığı, başlatıldığı ve yönetildiği hakkında bilgi için, bkz. CRT Hata Ayıklama Öbeği Ayrıntıları.

Ayırma blok türleri ve nasıl kullanılacakları hakkında daha fazla bilgi için bkz: hata ayıklama öbek üzerindeki blokları türleri.

Gereksinimler

Yordam

Gerekli başlık

_aligned_offset_malloc_dbg

<crtdbg.h>

Daha fazla uyumluluk bilgisi için Giriş altındaki Uyumluluk bölümüne bakın.

Kitaplıklar

Yalnızca C çalışma zamanı kitaplıklarının hata ayıklama sürümleri.

.NET Framework Eşdeğeri

Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

Ayrıca bkz.

Başvuru

Hata Ayıklama Yordamları