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 19:22 | IT novinky

    Nvidia na své konferenci NVIDIA GTC Taipei 2026 představila řadu novinek. Společně s Microsoftem představili superčip NVIDIA RTX Spark (až 6 144 jader GPU, 20 jader CPU, 1 petaflop AI výkonu v FP4 a 128 GB jednotné paměti). První notebooky a stolní počítače s tímto čipem od Nvidie místo Intelu nebo AMD by se měly na trh dostat na podzim letošního roku.

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

    Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.

    Ladislav Hagara | Komentářů: 0
    dnes 11:11 | Pozvánky

    Tento týden se bude vyznačovat zejména deštěm, a proto vás může zajímat, že již v úterý proběhne 63. Virtuální Bastlírna, která se bude odehrávat přímo v teple vašich domovů a bastlíren. Proto se připojte k této volné otevřené diskuzi bastlířů, techniků, vědců, ve které se probírají novinky a zajímavá témata z techniky. Mezi největší novinky bude tentokrát patrně patřit oznámení hackerského nástroje Flipper One. Zároveň úspěšně probíhá

    … více »
    bkralik | Komentářů: 0
    dnes 03:22 | Nová verze

    86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.

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

    Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Nová verze

    Alliance for Open Media vydala verzi 1.0.0 specifikace svobodného videoformátu AV2. Jean-Baptiste Kempf, prezident neziskové organizace VideoLAN stojící za svobodným multiplatformním multimediálním přehrávačem a frameworkem VLC, představil na svém blogu dekodér AV2 s názvem dav2d.

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Nová verze

    V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.2.0.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.5.1. Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Nová verze

    Byla vydána nová stabilní verze 26.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Yarara. 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
    29.5. 00:22 | Nová verze

    Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1788 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Uvolňování paměti při ukončení programu

    Jardík avatar 11.2.2011 13:10 Jardík | skóre: 40 | blog: jarda_bloguje
    Uvolňování paměti při ukončení programu
    Přečteno: 325×
    Zdravím, na gtk-devel-list mailing listu se rozvynula vášnivá diskuse ohledně uvolňování paměti při ukončení programu. Abych to shrnul, začalo to příspěvkem, že při ukončení programu (gtkmm)
    int main (int argc, char *argv[])
    {
          Gtk::Main *app = new Gtk::Main (&argc, &argv);
          delete app;
          return 0;
    }
    
    není uvolněna veškerá alokované paměť a že jsou tam tedy memory leaky. Problém je ale ve fungování glib a GTK, nikoliv v GTKMM. Vypadá nějak takto
    int main(int argc, char **argv)
    {
      gtk_init(&argc, &argv);
      // dělej něco tady
      gtk_main();
      return 0;
    }
    

    Po ukončení smyčky běžící v gtk_main() je tedy program ukončen a věci alokované v gtk_init (a v jí volaných fcí) a pak v dalších funkcích třeba gtk_widget_get_type() (skryté za makrem GTK_TYPE_WIDGET), funkcích jako g_warning(), prostě nejsou uvolněny a je to necháno operačnímu systému.

    Padly argumenty typu "nemá cenu to uvolňovat a zdržovat ukončení programu, když to stejně uklidí OS" a že "je to knihovna neurčená k několikanásobnému natahování do paměti a tak není třeba při ukončení programu nic uvolňovat". Dalších pár lidí zase tvrdilo, že je slušnost si po sobě uklízet a že by bylo dobré mít (třeba i volitelnou) funkci typu gtk_cleanup(), také kvůli lepší detekci leaků, které nastanou v samotné aplikaci mimo GTK.

    Do diskuse jsem se nazapojil a nejsem asi schopen posoudit, co je lepší - mít o trochu zjednodušené API a nechat uklízet OS, nebo uklízet sám. Uklízet u knihoven, co jsou po celou dobu "životnosti" programu v paměti, nebo ne?

    Věřím v jednoho Boha.

    Řešení dotazu:


    Odpovědi

    11.2.2011 13:30 JS
    Rozbalit Rozbalit vše Re: Uvolňování paměti při ukončení programu
    Viz tez tuto diskusi. Strucne, nazory se ruzni. Ja jsem spis zastance uklizeni a korektniho ukonceni, protoze:

    1. Programator tim dava najevo, ze vi, co kde ma, a tedy ze rozumi programu, a ze je tedy spis napsan korektne.

    2. Nikdy nevite, kde vas kod skonci - pokud skonci v serveru nebo nejakem dlouho bezicim procesu, muze to byt problem.

    3. Existuji nastroje na detekci leaku, a v takovem pripade tohle muze zbytecne prekazet (podobne jako neodstraneny nevinny warning pri kompilaci).
    12.2.2011 16:16 Sten
    Rozbalit Rozbalit vše Re: Uvolňování paměti při ukončení programu
    Korektní uvolňování u OOP (které GTK implementuje) je důležité a mělo by se striktně dodržovat, protože systém potom sice uklidí, ale destruktory nezavolá a to se potom „velmi dobře“ ladí.

    A největší problém je u programů, které GTK načtou jenom na chvíli (třeba kvůli vytvoření PDF) a potom jej zase uvolní, ale paměť zůstane naalokovaná. Knihovna by si po sobě měla umět uklidit.

    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.