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

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 1
    dnes 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

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

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    dnes 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 4
    včera 23:11 | Bezpečnostní upozornění

    Intel vydal 41 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20240514 mikrokódů pro své procesory řešící INTEL-SA-01051, INTEL-SA-01052 a INTEL-SA-01036.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | IT novinky

    Společnost Raspberry Pi patřící nadaci Raspberry Pi chystá IPO a vstup na Londýnskou burzu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Google na své vývojářské konferenci Google I/O 2024 představil řadu novinek. Keynote byl věnován umělé inteligenci (DeepMind, Gemini, Responsible AI).

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | Bezpečnostní upozornění

    V Gitu bylo nalezeno 5 zranitelností. Opraveny jsou ve verzích 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 a 2.39.4. Útočník může připravit repozitář tak, že při jeho klonování (git clone) může dojít ke spuštění libovolného kódu.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | IT novinky

    Virtualizační softwary VMware Workstation Pro a VMware Fusion Pro jsou nově pro osobní použití zdarma. Softwary VMware Workstation Player a VMware Fusion Player končí.

    Ladislav Hagara | Komentářů: 2
    včera 02:11 | Nová verze

    Linuxová distribuce Endless OS (Wikipedie) byla vydána ve verzi 6.0.0. Přehled novinek i s náhledy v příspěvku na blogu, poznámkách k vydání a také na YouTube.

    Ladislav Hagara | Komentářů: 2
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (74%)
     (5%)
     (10%)
     (10%)
    Celkem 291 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    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.