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