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í
×
    dnes 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

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

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

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

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 6
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 47
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 14
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 880 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: perl, pamět pro proměnné

    25.8.2005 13:36 Zdenek Stryhal | skóre: 10 | blog: ZS
    perl, pamět pro proměnné
    Přečteno: 112×

    Zdravim.

    Pokud jste nekdo sběhlej v perlu, můžete mi poradit, jak je to s proměnnými mimo jejich "scope". Domníval jsem se, že dojde k uvolnění paměti poté co již proměnná "neexistuje". Pokud však existuje reference, můžu její obsah stále používat.

    Existuje snad záznam, že existuje na proměnnou odkaz? Dojde k jejímu vymazání(uvolnění paměti) když už neexistuje žádný odkaz?

    my $y;
    {
    my @x=(20,30); # @x je lokalni
    $y=\@x;
    }
    
    print $x[0]; # chyba, $x neex.
    
    print $y->[0]; # vporadku, vypise 20
    
    undef $y;
    
    # je stale rezevovana pamet pro pole (20,30) ?
    
    

    Odpovědi

    25.8.2005 14:02 hrobar | skóre: 13
    Rozbalit Rozbalit vše Re: perl, pamět pro proměnné
    Ja si myslim ze ten odkaz sa nevytvara na samotnu premennu ale na miesto v pamati. Takze to ze x uz neexistuje znamena len to ze neexistuje odkaz na dane pamatove miesto cez premennu x. O pamat ktora je obsadena napriek tomu ze uz nanu nic neukazuje si myslim ze sa stara garbage colector. To je moj odhad ale moze to byt aj blud.
    25.8.2005 14:27 Zdenek Stryhal | skóre: 10 | blog: ZS
    Rozbalit Rozbalit vše Re: perl, pamět pro proměnné

    Souhlasím, že odkaz na proměnnou je vlastne odkaz na místo v paměti. Chápu také stejně, že neexistence proměnné je vlastně neexistence odkazu přes jméno.

    Je však možná a v manuálech doporučená kostrukce, která vytvoří odkaz na bezejmenné pole:

    
    my $z;
    {
    my $y=[20,30];
    $z=$y;
    }
    print $z->[0];  #Pole "$y" je dostupné i mimo blok
    

    Pole "$y" je možné z dále zvětšovat a měnit obsah, aniž by docházelo k přepisování jiných proměnných nebo seg.fault.

    25.8.2005 14:19 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: perl, pamět pro proměnné
    Nechce se mi to nejak debugovat, ale po 'undef $y;' se tomu poli snizi pocet referenci na nulu a melo by se uvolnit. Jediny problem by nastal, kdybys mel strukturu, kde by se ty ukazatele zacyklily, to Perl AFAIK nedetekuje.
    25.8.2005 14:33 Zdenek Stryhal | skóre: 10 | blog: ZS
    Rozbalit Rozbalit vše Re: perl, pamět pro proměnné

    Aha, je tedy pravdivá moje doměnka, že k poli je někde záznam, zda na něj něco ukazuje? Vytvoření reference k poli tedy není jen prosté zaznamenání "adresy" v paměti, ale dojde při tom i k záznamu, že tato reference k danému poli existuje.

    Díky

    25.8.2005 15:35 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: perl, pamět pro proměnné
    Tak nejak, rika se tomu pocitani referenci.
    25.8.2005 15:45 Zdenek Stryhal | skóre: 10 | blog: ZS
    Rozbalit Rozbalit vše Re: perl, pamět pro proměnné
    Díky moc, to jsem potřeboval.
    25.8.2005 16:07 ivast
    Rozbalit Rozbalit vše Re: perl, pamět pro proměnné
    Uhadol ste uplne presne, obsah premennej je zniceny potom, ako pocet odkazov na tento obsah klesne na 0.

    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.