Sdílet prostřednictvím


_aligned_recalloc_dbg

Změní velikost bloku paměti, která byla přidělena s _aligned_malloc nebo _aligned_offset_malloc a inicializuje paměť na hodnotu 0 (pouze verze ladění).

void * _aligned_recalloc_dbg(
   void * memblock, 
   size_t num,
   size_t size, 
   size_t alignment,
   const char *filename,
   int linenumber
);

Parametry

  • [v] memblock
    Aktuální ukazatel bloku paměti.

  • [v] num
    Počet elementů.

  • [v] size
    Velikost v bajtech pro každý prvek.

  • [v] alignment
    Hodnota zarovnání, která musí být celočíselnou mocninou 2

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

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

Vrácená hodnota

_aligned_recalloc_dbg vrací neplatný ukazatel na blok paměti znovu přidělit (a případně přesouvat).Vrácená hodnota je NULL -li velikost je nula a argument vyrovnávací paměť není NULL, nebo pokud zde není k dispozici dostatek paměti pro rozbalení na danou velikost bloku.V prvním případě je uvolněno původní blok.Ve druhém případě je původní blok beze změny.Návratová hodnota odkazuje na místa, která je zaručeně vhodně zarovnávat pro úložiště jakéhokoli typu objektu.Chcete-li získat ukazatel na typ jiné než za neplatné použití typu přetypovat na návratovou hodnotu.

Jedná se o chybu přidělení paměti a změnit zarovnání do bloku.

Poznámky

_aligned_recalloc_dbg je ladicí verze _aligned_recalloc funkce.Při _DEBUG není definována, každé volání _aligned_recalloc_dbg se snižuje o volání _aligned_recalloc.Oba _aligned_recalloc a _aligned_recalloc_dbg přidělení paměti bloku základní haldy, ale _aligned_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í.

_aligned_recalloc_dbg reallocates 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 přepsat vyrovnávací paměti, jsou vyplněny 0xFD.

_aligned_recalloc_dbg Nastaví 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.

Také _aligned_recalloc_dbg ověří jejích parametrů.Pokud alignment není násobek 2, tato funkce vyvolá obslužnou rutinu neplatný parametr, jak je popsáno v Ověření parametru.Pokud je povolena provádění chcete-li pokračovat, vrátí tato funkce NULL a nastaví errno na EINVAL.

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 typech bloku přidělení a způsobu jejich použití naleznete v tématu typy bloky haldy ladění.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

_aligned_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

Není k dispozici. Chcete-li volat funkci standardní C, použijte PInvoke. Další informace naleznete v tématu Příklady vyvolat platformy.

Viz také

Referenční dokumentace

Rutiny ladění