Sdílet prostřednictvím


_aligned_offset_malloc_dbg

Přidělí paměť na hranici zadané zarovnání (pouze ladicí verze).

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

Parametry

  • [v]size
    Velikost přidělení požadované 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á požaduje přidělení operace, nebo hodnotu NULL.

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

Vrácená hodnota

Ukazatel na blok paměti, která byla přidělena nebo NULL Pokud operace se nezdařila.

Poznámky

_aligned_offset_malloc_dbgladicí verzi je _aligned_offset_malloc funkce.Při _DEBUG není definována, každé volání _aligned_offset_malloc_dbg na volání _aligned_offset_malloc.Obě _aligned_offset_malloc a _aligned_offset_malloc_dbg přidělit blok paměti haldy základní, ale _aligned_offset_malloc_dbg nabízí několik funkce ladění: vyrovnávacích pamětí na obou stranách uživatele část bloku test těsnosti parametr typu bloku sledovat přidělení určité typy a filename/linenumber informace k určení původu žádosti o přidělení.

_aligned_offset_malloc_dbgpřidělí blok paměti se trochu více místa než požadovaný size.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ři přidělení bloku uživatele část bloku je vyplněno hodnotou, 0xCD, a každý přepsat vyrovnávací paměti jsou vyplněny 0xFD.

_aligned_offset_malloc_dbgje užitečné v situacích, kde je potřeba zarovnání vnořených elementu; například zarovnání bylo nutné vnořené třídy.

_aligned_offset_malloc_dbgje založena na malloc; Další informace naleznete v tématu malloc.

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

Požadavky

Rutina

Požadované záhlaví

_aligned_offset_malloc_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