Sdílet prostřednictvím


_aligned_offset_realloc_dbg

Změní velikost bloku paměti, která byla přidělena s _aligned_malloc nebo _aligned_offset_malloc (pouze ladicí verze).

void * _aligned_offset_realloc_dbg(
   void *memblock, 
   size_t size, 
   size_t alignment,
   size_t offset,
   const char *filename,
   int linenumber 
);

Parametry

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

  • [v]size
    Velikost přidělené paměti.

  • [v]alignment
    Hodnota zarovnání musí být celočíselná mocnina 2.

  • [v]offset
    Posun do přidělení paměti vynutit zarovnání.

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

  • [v]linenumber
    Číslo zdrojového souboru kde aligned_offset_realloc operace byla požadovaná nebo NULL.

Vrácená hodnota

_aligned_offset_realloc_dbgNeplatný ukazatel vrátí do bloku paměti reallocated (a případně přesunutý).Vrácená hodnota je NULL -li velikost je nula a argument vyrovnávací paměti není NULL, nebo pokud není k dispozici dostatek paměti rozbalit do dané velikosti bloku.V prvním případě původní blok uvolněno.V druhém případě se nemění původní blok.Vrácená hodnota odkazuje na úložný prostor, který je zaručeně vhodně zarovnání pro skladování jakýkoli typ objektu.Získání ukazatele typu void, použití než typ odevzdaných na vrácenou hodnotu.

Poznámky

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

Jako _aligned_offset_malloc, _aligned_offset_realloc_dbg umožňuje struktury k zarovnání posunem v rámci struktury.

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

Tato funkce nastaví errno na ENOMEM přidělení paměti se nezdařilo nebo bylo větší než požadovaná velikost _HEAP_MAXREQ.Pro více informací o errno si prohlédněte Kód chyby, _doserrno, _sys_errlist a _sys_nerr.Také _aligned_offset_realloc_dbg ověřuje jeho parametry.Pokud alignment není napájení 2 nebo pokud offset je větší než nebo rovno size a nenulová, tato funkce vyvolá obsluhu neplatný parametr popsaným v Ověření parametrů.Pokud je povoleno spuštění pokračovat, vrátí funkce hodnotu NULL a errno na EINVAL.

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í

_aligned_offset_realloc_dbg

<crtdbg.h>

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

Knihovny

Ladění verze C Runtime knihovny pouze.

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