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.
Uvolní nebo uvolní blok paměti.
Syntaxe
void _freea(
void *memblock
);
Parametry
memblock
Dříve přidělený blok paměti, který se uvolní.
Vrácená hodnota
Nezaokrouhlovat.
Poznámky
Funkce _freea uvolní blok paměti (memblock), který byl dříve přidělen voláním _malloca. _freea zkontroluje, jestli byla paměť přidělena na haldě nebo zásobníku. Pokud byl přidělen v zásobníku, _freea nic nedělá. Pokud byl přidělen na haldě, počet uvolněných bajtů odpovídá počtu bajtů požadovaným při přidělení bloku. Pokud memblock je NULL, ukazatel je ignorován a _freea okamžitě vrátí. Pokus o uvolnění neplatného ukazatele (ukazatel na blok paměti, který nebyl přidělen _malloca) může ovlivnit následné žádosti o přidělení a způsobit chyby.
_freea volá free interně, pokud zjistí, že paměť je přidělena na haldě. Ať už je paměť na haldě nebo zásobníku určená značkou umístěnou v paměti na adrese bezprostředně před přidělenou pamětí.
Pokud dojde k chybě při uvolnění paměti, errno je nastaven s informacemi z operačního systému o povaze selhání. Další informace naleznete v tématu errno, _doserrno, _sys_errlista _sys_nerr.
Po uvolnění bloku paměti minimalizuje množství volné paměti na haldě tím, _heapmin že shodí nepoužívané oblasti a uvolní je zpět do operačního systému. Uvolněná paměť, která není uvolněna do operačního systému, se obnoví do bezplatného fondu a je k dispozici pro opětovné přidělení.
Hovor, ke kterému _freea musí být připojena všechna volání _malloca. Jedná se také o chybu, která volá _freea dvakrát ve stejné paměti. Když je aplikace propojena s ladicí verzí knihoven runtime jazyka C, zejména s funkcemi _malloc_dbg povolenými definováním _CRTDBG_MAP_ALLOC, je jednodušší najít chybějící nebo duplikovaná volání _freea. Další informace o správě haldy během procesu ladění naleznete v části Haldy ladění CRT.
_freea je označen , __declspec(noalias)což znamená, že funkce není zaručeno, že nebude upravovat globální proměnné. Další informace najdete na webu noalias.
Požadavky
| Function | Požadovaný hlavičkový soubor |
|---|---|
_freea |
<stdlib.h> a <malloc.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
Podívejte se na příklad pro _malloca.
Viz také
Přidělení paměti
_malloca
calloc
malloc
_malloc_dbg
realloc
_free_dbg
_heapmin