Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přidělí paměť na zadanou hranici zarovnání.
Syntaxe
void * _aligned_offset_malloc(
size_t size,
size_t alignment,
size_t offset
);
Parametry
size
Velikost požadovaného přidělení paměti.
alignment
Hodnota zarovnání, která musí být celočíselná mocnina 2.
offset
Posun do přidělení paměti k vynucení zarovnání.
Vrácená hodnota
Ukazatel na blok paměti, který byl přidělen nebo NULL pokud operace selhala.
Poznámky
_aligned_offset_malloc je užitečné v situacích, kdy je potřeba zarovnání u vnořeného prvku; Pokud bylo například zarovnání potřeba pro vnořenou třídu.
_aligned_offset_malloc je založena na malloc; další informace naleznete v tématu malloc.
_aligned_offset_malloc je označen a __declspec(noalias) __declspec(restrict), což znamená, že funkce není zaručeno, že nebude upravovat globální proměnné a že vrácený ukazatel není aliasován. Další informace najdete v tématech noalias a restrict.
Tato funkce nastaví errno ENOMEM , jestli přidělení paměti selhalo nebo pokud byla požadovaná velikost větší než _HEAP_MAXREQ. Další informace o errno, vizerrno , _doserrno, _sys_errlist, a _sys_nerr. _aligned_offset_malloc Ověří také jeho parametry. Pokud alignment není mocnina 2 nebo pokud offset je nenulová a větší nebo rovna size, 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.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
| Rutina | Požadovaný hlavičkový soubor |
|---|---|
_aligned_offset_malloc |
<malloc.h> |
Příklad
Další informace najdete na webu _aligned_malloc.