_aligned_offset_malloc
Přidělí paměť na hranici zadané zarovnání.
void * _aligned_offset_malloc(
size_t size,
size_t alignment,
size_t offset
);
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í.
Vrácená hodnota
Ukazatel na blok paměti, která byla přidělena nebo NULL Pokud operace se nezdařila.
Poznámky
_aligned_offset_mallocje 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_mallocje založena na malloc; Další informace naleznete v tématu malloc.
_aligned_offset_mallocje označena __declspec(noalias) a __declspec(restrict), což znamená, že funkce je zaručena upravit globální proměnné, vrácený ukazatel není s aliasem.Další informace naleznete v noalias a omezit.
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 errno, _doserrno, _sys_errlist, and _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í parametru.Pokud je povoleno spuštění pokračovat, vrátí funkce hodnotu NULL a errno na EINVAL.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_aligned_offset_malloc |
<malloc.h> |
Příklad
Další informace naleznete v _aligned_malloc.