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