Sdílet prostřednictvím


_recalloc_dbg

Reallocates pole a inicializuje její prvky na 0 (pouze ladicí verze).

void *_recalloc_dbg( 
   void *userData,
   size_t num,
   size_t size,
   int blockType,
   const char *filename,
   int linenumber 
);

Parametry

  • userData
    Ukazatel na bloku dříve přidělené paměti.

  • num
    Požadovaný počet bloků paměti.

  • size
    Požadovaná velikost každého bloku paměti (bajty).

  • blockType
    Typ bloku paměti požadované: _CLIENT_BLOCK nebo _NORMAL_BLOCK.

    Informace o typech bloku přidělení a jejich použití naleznete v tématu Typy bloky na ladění haldy.

  • filename
    Ukazatel myši na název zdrojového souboru, která požaduje přidělení operace nebo NULL.

  • linenumber
    Číslo zdrojového souboru, kde byla požadována operace přidělení nebo NULL.

filename a linenumber parametry jsou k dispozici pouze při _recalloc_dbg byl volán explicitně nebo _CRTDBG_MAP_ALLOC byla definována konstanta preprocesoru.

Vrácená hodnota

Po úspěšném ukončení tato funkce vrací ukazatel na část bloku paměti reallocated uživatele, volá funkci nového zpracování nebo vrátí hodnotu NULL.Úplný popis vrácení chování naleznete v následující části poznámky.Další informace o použití nové funkci zpracování naleznete _recalloc funkce.

Poznámky

_recalloc_dbgladicí verzi je _recalloc funkce.Při _DEBUG není definována, každé volání _recalloc_dbg na volání _recalloc.I _recalloc a _recalloc_dbg přerozdělit blok paměti haldy základní, ale _recalloc_dbg vejde několik funkce ladění: vyrovnávacích pamětí na obou stranách uživatele část bloku test těsnosti parametr typu blok sledování přidělení zvláštních typů a filename/linenumber informace k určení původu žádosti o přidělení.

_recalloc_dbgreallocates blok paměti zadaná se trochu více místa než požadovaná velikost (num * size) a které může být větší nebo menší než velikost bloku původně přidělené paměti.Další místo používá správce hald ladění bloků paměti ladění propojení a k aplikaci s ladicími informacemi hlavičky a přepsat vyrovnávací paměti.Přerozdělení může způsobit přesunutí do jiného umístění v haldě původní blok paměti, jakož i změny velikosti bloku paměti.Uživatel část bloku je vyplněno hodnotou, 0xCD, a vyplní každou přepsat vyrovnávací paměti 0xFD.

_recalloc_dbgNastaví errno na ENOMEM Pokud dojde k selhání přidělení paměti; EINVALbude vrácena, pokud překročí množství paměti potřebné (včetně režie uvedenou dříve) _HEAP_MAXREQ.Informace o této a dalších chybové kódy, Kód chyby, _doserrno, _sys_errlist a _sys_nerr.

Informace o jak jsou bloky paměti přidělené, inicializován a spravuje v ladicí verzi základní haldy Správa paměti a ladění haldy.Informace o rozdílech mezi voláním funkce standardní haldy oproti verzi své ladění v ladicí verzi aplikace naleznete v tématu pomocí ladění verze Versus the Base verze.

Požadavky

Rutina

Požadované záhlaví

_recalloc_dbg

<crtdbg.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Knihovny

Ladění verze C Runtime knihovny pouze.

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Ladění rutin