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