Sdílet prostřednictvím


_recalloc_dbg

Reallocates pole a inicializuje jejích elementů na hodnotu 0 (pouze verze ladění).

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

Parametry

  • userData
    Ukazatel na blok 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 (v bajtech).

  • blockType
    Požadovaný typ bloku paměti: _CLIENT_BLOCK nebo _NORMAL_BLOCK.

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

  • filename
    Ukazatel na název zdrojového souboru, který požadovanou operaci přidělení nebo NULL.

  • linenumber
    Číslo řádku na zdrojový soubor, kde byla požadována operace přidělení nebo NULL.

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

Vrácená hodnota

Na úspěšné dokončení této funkce buď vrací ukazatel na část znovu přidělit paměť bloku s uživatelským, volá funkci novou obslužnou rutinu nebo vrátí hodnotu NULL.Úplný popis návratový chování naleznete v následující části poznámky.Další informace o způsobu nové funkce obslužné rutiny naleznete _recalloc funkce.

Poznámky

_recalloc_dbgje ladicí verze _recalloc funkce.Při _DEBUG není definována, každé volání _recalloc_dbg snižuje na volání _recalloc.Oba _recalloc a _recalloc_dbg přidělení paměti bloku základní haldy, ale _recalloc_dbg bude vyhovovat několik funkce ladění: ve vyrovnávací paměti na obou stranách část bloku k testování problémů s nevracením paměti, parametr typu block sledování konkrétní přidělení typů s uživatelským a filename/linenumber informace k určení původu požadavky na přidělení.

_recalloc_dbgreallocates určenou paměť bloku s mírně více místa, než požadovaná velikost (num * size) které může být větší nebo menší než velikost bloku původně přidělené paměti.Další místo se používá haldy správcem ladění propojit bloky paměti ladění a k poskytování aplikací s informacemi hlavičky a ladění a přepsat vyrovnávací paměti.Rozdělení může být výsledkem přesun původní bloku paměti do jiného umístění haldy, jakož i změny velikosti bloku paměti.Uživatel část bloku je zaplněna hodnotu 0xCD a každá z vyrovnávací paměti přepsat jsou vyplněny 0xFD.

_recalloc_dbgNastaví errno k ENOMEM selhání přidělení paměti; EINVAL je vrácena, pokud přesahuje množství paměti potřebné (včetně nároky na výkon výše uvedené) _HEAP_MAXREQ.Informace o této a dalších kódy chyb naleznete v tématu errno, _doserrno, _sys_errlist, and _sys_nerr.

Informace o způsobu jsou bloky paměti přidělené, inicializován a správy v ladicí verze základní haldy, naleznete v části Podrobnosti haldy ladění CRT.Informace o rozdílech mezi volání funkce standardní haldy a jeho ladicí verze v sestavení ladicí verze aplikace naleznete v tématu Ladění verzí funkcí přidělení haldy.

Požadavky

Rutina

Požadovaný hlavičkový soubor

_recalloc_dbg

< crtdbg.h >

Další informace o kompatibilitě, podívejte se na téma kompatibility v zavedení.

Knihovny

Ladicí verze knihoven C run-time pouze.

Ekvivalent v rozhraní .NET Framework

Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu příklady vyvolat platformy.

Viz také

Referenční dokumentace

Rutiny ladění