Diskuze: uvolnění paměti funkcí free()
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Oblast haldy, která je alokována po dynamické alokaci paměti pomocí funkce malloc(), je o jeden word větší než požadovaná paměť. Tento dodatečný word je použit k uložení metadat, jako je velikost alokovaného bloku. Metadata jsou typicky uložena před začátkem alokovaného bloku paměti. Takže když je později volána funkce free() s adresou začátku bloku, může přistoupit k těmto metadatům a zjistit, kolik paměti má být uvolněno. Tímto způsobem je free() schopna správně dealokovat alokovanou paměť.
Co to je ten word. Pripadne neni nekde podrobnejsi info v cestine. Rad bych si o tom precetl. Nebo uz to zasahuje mimo programovani v c do jine problematiky. Jako ukladani dat pod danym OS atd.
Termín "word" v tomto kontextu označuje jednotku paměti, která je typicky ekvivalentní s velikostí registru nebo základní jednotkou dat se kterou procesor pracuje. Velikost slova se může lišit v závislosti na architektuře procesoru a operačním systému. Ta může být například 32 bitů (4 bajty) nebo 64 bitů (8 bajtů) v závislosti na architektuře procesoru. Tato informace je však specifická pro technické detaily a nemusí být vždy důležitá při běžném programování v jazyce C.
Podrobnější informace o správě paměti mohou být popsány v knihách o programování v C. Mohou existovat také zdroje zaměřené na operační systémy a správu paměti, které poskytují hlubší vhled do tohoto tématu, včetně způsobu, jakým operační systémy alokují a uvolňují paměť pro procesy.
dekuji, ale asi se jako clovek co se uci zaklady zaobiram pokrocilejsi tematikou. Nejdrive budu pokracovat v zakladech
Přesně tak, to jsou tak specifické detaily, že se tímto nemusíš vůbec zaobírat. Důležité je vědět, že free() funguje tak jak má, že informaci o velikosti alokovaného bloku paměti zná a správně jej uvolní. Pokud si nebudeš s něčím vědět rady, napiš příspěvek do fora a podíváme se na to..
Zobrazeno 6 zpráv z 6.