Sdílet prostřednictvím


_freea

Zruší přidělení nebo uvolnění bloku paměti.

void _freea( 
   void *memblock 
);

Parametry

  • memblock
    Dříve přidělen blok paměti, které má být uvolněno.

Vrácená hodnota

Žádný

Poznámky

_freea Funkce zruší přidělení blok paměti (memblock), již bylo přiděleno pomocí volání _malloca._freeazkontroluje, pokud bylo přiděleno paměť haldy nebo zásobníku.Pokud byla přidělena v zásobníku, _freea neprovede žádnou akci.Pokud byl přidělen na haldy, uvolněné bajtů je ekvivalentní počet bajtů po bloku byla přidělena.Pokud memblock je NULL, ukazatel je ignorován a _freea okamžitě vrátí.Pokus o neplatný ukazatel (ukazatel na blok paměti, která nebyla přidělena podle _malloca) může ovlivnit následné přidělování požadavků a způsobit chyby.

_freea volání free interně, pokud zjistí, že je přiděleno paměť haldy.Zda je paměť na haldy zásobníku je určena značky umístěny v paměti na adrese bezprostředně předcházejících přidělené paměti.

Pokud dojde k chybě v uvolnění paměti, errno je nastavena s informacemi z operačního systému na povaze chyby.Další informace naleznete v tématu Kód chyby, _doserrno, _sys_errlist a _sys_nerr.

Po uvolnění bloku paměti _heapmin minimalizuje velikost volné paměti haldy coalescing nepoužívané oblastí a jejich uvolněním zpět do operačního systému.Uvolněné paměti, která není uvolněna na operační systém obnoven do fondu volných médií a je k dispozici pro přidělení znovu.

Volání _freea doprovází všechna volání _malloca.Je také při volání _freea dvakrát na stejnou paměť.Pokud je aplikace spojen s ladicí verzi C Runtime knihoven, zejména s _malloc_dbg definování funkcí _CRTDBG_MAP_ALLOC, je snazší najít chybějící nebo duplicitní volání na _freea.Další informace o způsobu je během ladění procesu správy haldy, viz The CRT ladění haldy.

_freeaje označena __declspec(noalias), což znamená, že funkce je zaručena upravit globální proměnné.Další informace naleznete v noalias.

Požadavky

Function

Požadované záhlaví

_freea

<stdlib.h> a <malloc.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Příklad

Viz příklad pro _malloca.

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Přidělení paměti

_malloca

calloc

MALLOC

_malloc_dbg

realloc

_free_dbg

_heapmin