Sdílet prostřednictvím


_aligned_malloc_dbg

Přidělí paměť na zadané hranici zarovnání s nadbytečným místem pro hlavičku ladění a přepíše vyrovnávací paměti (pouze ladicí verze).

Syntaxe

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

Parametry

size
Velikost požadovaného přidělení paměti.

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

filename
Ukazatel na název zdrojového souboru, který požadoval operaci přidělení nebo NULL.

linenumber
Číslo řádku ve zdrojovém souboru, kde byla požadována operace přidělení nebo NULL.

Vrácená hodnota

Ukazatel na blok paměti, který byl přidělen nebo NULL pokud operace selhala.

Poznámky

_aligned_malloc_dbg je ladicí verze _aligned_malloc funkce. Pokud _DEBUG není definováno, každé volání _aligned_malloc_dbg se sníží na volání _aligned_malloc. Jak _aligned_malloc a _aligned_malloc_dbg přidělit blok paměti v základní haldě, ale _aligned_malloc_dbg nabízí několik funkcí ladění: vyrovnávací paměti na obou stranách bloku uživatele testovat úniky a filename/linenumber informace pro určení původu žádostí o přidělení. Sledování konkrétních typů přidělení pomocí parametru typu bloku není podporovanou funkcí ladění pro sladěné přidělení. Zarovnané přidělení se zobrazí jako _NORMAL_BLOCK typ bloku.

_aligned_malloc_dbg přidělí blok paměti o něco více místa, než je požadováno size. Další místo používá správce haldy ladění k propojení bloků paměti ladění a k poskytnutí aplikace informace hlavičky ladění a přepsání vyrovnávací paměti. Při přidělení bloku se část bloku uživatele vyplní hodnotou 0xCD a každá vyrovnávací paměť přepsání se vyplní 0xFD.

_aligned_malloc_dbg nastaví errno , ENOMEM pokud přidělení paměti selže nebo pokud potřebné množství paměti (včetně výše uvedených režijních nákladů) překročí _HEAP_MAXREQ. Informace o těchto a dalších kódech chyb naleznete v tématu , , , a_sys_nerr . _sys_errlist_doserrnoerrno _aligned_malloc_dbg Ověří také jeho parametry. Pokud alignment není mocnina 2 nebo size je nula, tato funkce vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, tato funkce vrátí NULL a nastaví errno hodnotu EINVAL.

Informace o přidělování, inicializaci a správě bloků paměti ve verzi ladění základní haldy naleznete v podrobnostech haldy ladění CRT. Informace o typech bloků přidělení a jejich použití najdete v tématu Typy bloků v haldě ladění. Informace o rozdílech mezi standardními funkcemi haldy a jejich ladicí verze naleznete v tématu Ladění verzí funkcí přidělení haldy.

Požadavky

Rutina Požadovaný hlavičkový soubor
_aligned_malloc_dbg <crtdbg.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Knihovny

Ladění pouze verzí knihoven runtime jazyka C.

Viz také

Rutiny ladění