Sdílet prostřednictvím


_aligned_offset_malloc_dbg

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

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

Parametry

  • [in] size
    Velikost přidělení požadované paměti.

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

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

  • [in] filename
    Ukazatel myši na název zdrojového souboru, který požaduje operaci přidělení nebo hodnotu NULL.

  • [in] linenumber
    Číslo zdrojového souboru, kde byla požadována operace rozdělení řádku, 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_dbgje ladicí verze _aligned_offset_malloc funkce.Při _DEBUG není definována, každé volání _aligned_offset_malloc_dbg se snižuje o volání _aligned_offset_malloc.Obě _aligned_offset_malloc a _aligned_offset_malloc_dbg přidělit bloku paměti haldy základní, ale _aligned_offset_malloc_dbg nabízí několik funkcí ladění: vyrovnávací paměti na obou stranách uživatele část bloku zkouška na těsnost, parametr typu bloku ke sledování přidělení určité typy a filename/linenumber informace k určení původu požadavky na přidělení.

_aligned_offset_malloc_dbgpřiděluje blok paměti se trochu více místa, než požadovaná size.Další místo je používán správce hald ladění propojení bloky paměti ladění a pro aplikaci s ladicími informacemi hlavičky a přepsat vyrovnávací paměti.Při přidělení bloku uživatele část bloku se doplní hodnota 0xCD a přepsat vyrovnávací paměti se naplní 0xFD.

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

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

Tato funkce nastaví errno k ENOMEM Pokud přidělení paměti se nezdařilo nebo bylo větší než požadovaná velikost _HEAP_MAXREQ.Další informace o errno naleznete v tématu errno, _doserrno, _sys_errlist, and _sys_nerr.Také _aligned_offset_malloc ověřuje jeho parametry.Pokud alignment není mocninou čísla 2 nebo -li offset je větší než nebo rovno size a nenulová, tato funkce vyvolá neplatný parametr rutiny, jak je popsáno v Ověření parametru.Pokud provádění může pokračovat, tato funkce vrátí NULL a nastaví errno na EINVAL.

Informace o způsobu přidělování, inicializace a správy paměťových bloků v ladicí verzi základní haldy viz Podrobnosti haldy ladění CRT.

Informace o typech bloku přidělení a jejich použití naleznete v tématu typů bloků na ladění haldy.

Požadavky

Rutina

Požadované záhlaví

_aligned_offset_malloc_dbg

<crtdbg.h>

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

Knihovny

Verze ladění pouze běhových knihoven C.

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 vyvolání platformy.

Viz také

Referenční dokumentace

Rutiny ladění