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