abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 1
    dnes 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    dnes 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    dnes 03:55 | Nová verze

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    dnes 03:22 | Komunita

    Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.

    Ladislav Hagara | Komentářů: 1
    28.11. 18:55 | Humor

    Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.

    Ladislav Hagara | Komentářů: 18
    28.11. 12:44 | Zajímavý software

    Společnost Collabora vydala (YouTube) na LibreOffice založený desktopový kancelářský balík Collabora Office. Pro Windows, macOS a Linux. Se stejným uživatelským rozhraním jako Collabora Online. Svůj desktopový kancelářský balík s rozhraním LibreOffice pojmenovala Collabora Office Classic.

    Ladislav Hagara | Komentářů: 13
    28.11. 12:00 | Nová verze

    Glen MacArthur vydal AV Linux (AVL) a MX Moksha (MXM) 25. S linuxovým jádrem Liquorix. AV Linux (Wikipedie) je linuxová distribuce optimalizována pro tvůrce audio a video obsahu. Nejnovější AV Linux vychází z MX Linuxu 25 a Debianu 13 Trixie. AV Linux přichází s desktopovým prostředím Enlightenment 0.27.1 a MX Moksha s prostředím Moksha 0.4.1 (fork Enlightenmentu).

    Ladislav Hagara | Komentářů: 0
    27.11. 17:55 | Nová verze

    Ubuntu pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 421 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Uvolnění paměti způsobí SIGSEGV

    Jardík avatar 31.7.2006 20:58 Jardík | skóre: 40 | blog: jarda_bloguje
    Uvolnění paměti způsobí SIGSEGV
    Přečteno: 194×
    Potřeboval bych poradit, kde dělám chybu. V následujícím kódu dojde k neoprávněnému přístupu do paměti při volání funkce free():
    if(!m_pBuffer)
    {
    	m_nAllocated = bufferSize;
    	m_pBuffer = Memory<T>::alloc(m_nAllocated);
    	m_nItems = 0;
    } 
    else if(m_nItems+1 > m_nAllocated)
    {
    	m_nAllocated += bufferSize;
    	T *newBuffer = Memory<T>::alloc(m_nAllocated);
    	Memory<T>::copy( newBuffer, m_pBuffer, m_nItems );
    	Memory<T>::free( m_pBuffer ); //zde nastává SIGSEGV
    	m_pBuffer = newBuffer;
    }
    m_pBuffer[m_nItems++] = item;
    
    Funkce Memory<T>::free( T *pointer ) volá free(pointer).
    Věřím v jednoho Boha.

    Odpovědi

    Jardík avatar 31.7.2006 21:07 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Uvolnění paměti způsobí SIGSEGV
    Jsem ale vůl. ::free(pointer) vyřešilo problém :-).
    Věřím v jednoho Boha.
    31.7.2006 21:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Uvolnění paměti způsobí SIGSEGV

    Jednak bych zkontroloval, zda Memory<T>::alloc() volá malloc(), jednak zda není problém v tom, že m_pBuffer není inicializovaný. Jestli není problém v tomhle, asi bude potřeba použít debugger a zjistit, za jakých okolností přesně ten SEGV nastává.

    Z čistě praktického hlediska bych pak doporučoval neprovádět tu (náročnou) realokaci po jednom prvku, ale nechat si trochu větší rezervu. Nebo rovnou použít některý kontejner ze standardní C++ knihovny.

    Jardík avatar 31.7.2006 22:06 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Uvolnění paměti způsobí SIGSEGV
    Docházelo jen k menší rekurzi :-)
    Rezervu jsem si nechával (viz. bufferSize).
    Věřím v jednoho Boha.

    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.