abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:00 | IT novinky

    Exploze osobních komunikačních zařízení v Libanonu zabily osm lidí, přibližně 2750 lidí je zraněno. Zhruba 200 jich je v kritickém stavu.

    Ladislav Hagara | Komentářů: 18
    včera 16:55 | Nová verze

    Byla vydána Java 23 / JDK 23. Nových vlastností (JEP - JDK Enhancement Proposal) je 12. Nová Java / JDK vychází každých 6 měsíců. LTS verze jsou 8, 11, 17 a 21 a bude 25.

    Ladislav Hagara | Komentářů: 1
    včera 16:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 41, tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 22. října. Z novinek (ChangeSet) lze vypíchnout Valkey místo nesvobodného Redisu, konec Pythonu 2, instalace proprietárních ovladačů Nvidia s podporou Secure Boot, DNF 5, RPM 4.20, KDE Plasma Mobile Spin, LXQt 2.0, …

    Ladislav Hagara | Komentářů: 1
    včera 13:11 | IT novinky

    Digitální a informační agentura (DIA) přebírá od 1. listopadu správu Registru obyvatel a Registru osob. Převodem pokračuje postupné soustřeďování sdílených informačních systémů státu pod DIA (𝕏).

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | IT novinky

    Společnost Apple vydala nové verze operačních systémů pro svá zařízení: macOS 15 Sequoia, iPadOS 18, tvOS 18, visionOS 2, watchOS 11 a iOS 18.

    Ladislav Hagara | Komentářů: 7
    včera 01:22 | Komunita

    Konsorcium Linux Foundation představilo svůj nejnovější projekt s názvem OpenSearch Software Foundation zastřešující další vývoj OpenSearch a OpenSearch Dashboards. OpenSearch je forkem vyhledávače Elasticsearch a OpenSearch Dashboards je forkem souvisejícího nástroje pro vizualizaci dat Kibana. V roce 2021 přešly projekty Elasticsearch a Kibana z licence Apache 2.0 na duální licencování pod Server Side Public License (SSPL) a

    … více »
    Ladislav Hagara | Komentářů: 0
    16.9. 18:33 | Nová verze Ladislav Hagara | Komentářů: 0
    16.9. 12:55 | Zajímavý projekt

    TamaGo je open source framework pro programování ARM a RISC-V systémů na čipu (SoC) v programovacím jazyce Go. Prezentace projektu z OSFC (Open Source Firmware Conference) v pdf na GitHubu.

    Ladislav Hagara | Komentářů: 0
    15.9. 21:44 | Komunita

    Konference OpenAlt 2024 – jedinečné fórum, kde se každoročně sdružují lidé se zájmem o vývoj a využití svobodného a otevřeného softwaru a hardwaru, tvorbu, zpracování a zpřístupňování otevřených dat, svobodný přístup k informacím a vzdělávání – hledá přednášející, dobrovolníky a partnery. Konference proběhne 2. a 3. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.

    Ladislav Hagara | Komentářů: 0
    15.9. 19:44 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.10 oznámil Linus Torvalds vydání Linuxu 6.11. Z Vídně, jelikož tam zítra začíná Open Source Summit Europe. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna. Později také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: free()

    Wan-To avatar 16.7.2006 19:11 Wan-To | skóre: 16 | blog: WanBlog | Čelákovice
    free()
    Přečteno: 82×
    Dobrý den,

    měl bych jeden dotaz ohledně C funkce free(). Jak pozná, kolik bajtů paměti má uvolnit? Vždyť jí předávám jako parametr jen počáteční adresu bloku v paměti, ale ne jeho délku.

    Moc díky za vysvětlení,

    Martin

    Odpovědi

    16.7.2006 19:18 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: free()
    Obvyklá implementace je taková, že když voláte malloc(), alokuje se o trochu větší blok, na začátek se zapíše jakási hlavička (u glibc AFAIK 8 byte) a pointer, který dostanete, ukazuje až za ni. Funkce free() pak odečte délku té hlavičky a tam najde vše potřebné. Proto je tak riskantní volat free() na pointer, který nebyl získán pomocí malloc() (nebo jeho sourozenců).
    Bluebear avatar 16.7.2006 19:55 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: free()
    Taky by bylo možné, že si systém (resp. glibc) uchovává adresy a k nim odpovídající délky v nějaké tabulce. Asi se to moc nepoužívá, ale šlo by to :-)

    Podobný problém v C++ (uložení počtu objektů při alokování pole) se popisuje v The C++ FAQ:

    Short answer: Magic.

    Long answer: The run-time system stores the number of objects, n, somewhere where it can be retrieved if you only know the pointer, p. There are two popular techniques that do this. Both these techniques are in use by commercial-grade compilers, both have tradeoffs, and neither is perfect. These techniques are:

    * Over-allocate the array and put n just to the left of the first Fred object.

    * Use an associative array with p as the key and n as the value
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.