Sdílet prostřednictvím


_realloc_dbg

Přesunutí nebo změna velikosti bloku (pouze ladicí verze) reallocates zadaný blok paměti haldy.

void *_realloc_dbg(
   void *userData,
   size_t newSize,
   int blockType,
   const char *filename,
   int linenumber 
);

Parametry

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

  • newSize
    Požadovaná velikost bloku (v bajtech), který reallocated.

  • blockType
    Požadován typ bloku reallocated: _CLIENT_BLOCK nebo _NORMAL_BLOCK.

  • filename
    Ukazatel myši na název zdrojového souboru, která je požadována realloc operace, nebo hodnotu NULL.

  • linenumber
    Číslo zdrojového souboru kde realloc operace byla požadovaná nebo NULL.

filename a linenumber parametry jsou k dispozici pouze při _realloc_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 realloc funkce.

Poznámky

_realloc_dbgladicí verzi je realloc funkce.Při _DEBUG není definována, každé volání _realloc_dbg na volání realloc.I realloc a _realloc_dbg přerozdělit blok paměti haldy základní, ale _realloc_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í.

_realloc_dbgblok paměti zadaná se trochu více místa než požadovaný reallocates newSize.newSizemůž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.Pokud je přesunut blok paměti, obsah původního bloku přepsány.

_realloc_dbgNastaví errno na ENOMEM Pokud dojde k selhání přidělení paměti nebo pokud překračuje 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 typech bloku přidělení a jejich použití naleznete v tématu Typy bloky na ladění haldy.Informace o rozdílech mezi volání haldy standardní funkce a její verzi 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í

_realloc_dbg

<crtdbg.h>

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

Knihovny

Ladění verze C Runtime knihovny pouze.

Příklad

Viz příklad v _msize_dbg téma.

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

_malloc_dbg