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