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í
×
    včera 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 7
    včera 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Zajímavý článek

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

    Ladislav Hagara | Komentářů: 2
    včera 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    30.12. 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    30.12. 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    30.12. 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    29.12. 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    NUKE GAZA! 🎆 | Komentářů: 14
    29.12. 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    NUKE GAZA! 🎆 | Komentářů: 7
    29.12. 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    NUKE GAZA! 🎆 | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (29%)
     (1%)
     (28%)
     (1%)
     (1%)
     (1%)
     (10%)
     (10%)
     (18%)
    Celkem 223 hlasů
     Komentářů: 22, poslední včera 15:34
    Rozcestník

    Dotaz: ddd a globální struktury

    15.2.2005 17:23 Bronislav Klapuch | skóre: 8
    ddd a globální struktury
    Přečteno: 195×
    Dobrý den,
    když chci debuggovat céčkovský program, a chci zobrazit globální strukturu, zobrazí se jen (nejspíše)adresa v paměti v desítkovém formátu. Dále z tohoto nic dalšího nedostanu. Volba "Display()" je nedostupná. Nutno poznamenat, že zmíněný nedostatek se neobjevuje u všech globálních struktur. V distribuci SUSE 7.3 bylo prohlížení struktur bez problémů, nyní v SUSE 9.0 a 9.1 se objevuje tento problém. Jelikož sám v céčku neprogramuji, je pro mne odhalení závady ještě složitější. Budu vděčný za každou radu.

    Odpovědi

    15.2.2005 17:38 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    Není to tím, že nezná typ té struktury? Co vypíše v gdb
    p *struktura
    
    ? (předpokládám, že je to ukazatel).
    16.2.2005 07:12 Bronislav Klapuch | skóre: 8
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    Jak jsem již výše uvedl, "C" není moje silná stránka. Takže je možné, že to co zde napíšu je irelevantní. Nicméně :
    Cannot access memory at address 0x0
    Kdežto struktura, která se běžně zobrazí vypsala:
    Structure has no component named operator.
    16.2.2005 08:32 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    Cannot access memory at address 0x0

    to napoveda ze prislusny pointer je NULL a teda nie je mozne vypisat data na ktore ukazuje.

    16.2.2005 09:31 Bronislav Klapuch | skóre: 8
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    Ten program je funkční, jen nelze strukturu v ddd zobrazit. V okamžiku, kdy se struktura naplní, objeví se místo 0 jiné číslo. Nicméně je to pořád jen číslo.
    16.2.2005 09:41 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    Co je to za program, nebo aspoň jak je ta struktura deklarovaná?
    (gdb) list struktura
    
    ?
    16.2.2005 11:18 Bronislav Klapuch | skóre: 8
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    No line number known for g_promenna.
    Jsem vázán smlouvou, takže nemohu poskytnout o zmíněném programu další informace. Neumím napsat neutrální ukázkový příklad. Kolegové něco zkoušeli, ale tyto jejich programy prý fungují.
    16.2.2005 12:49 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    objeví se místo 0 jiné číslo. Nicméně je to pořád jen číslo.

    Ked das vypisat hodnotu pointra tak dostanes cislo, ked chces vidiet na co ten pointer ukazuje tak pouzi operator *.

    Priklad

    typedef struct _BUF
    {
        int velkost;
        char udaje[1024];
    } BUF;
    ...
    BUF *buf = NULL;
    Debugujem
    (gdb) p buf
    $1 = (BUF *) 0x0
    
    po priradeni
    buf = (BUF *)malloc (sizeof (BUF));
    debugger povie
    (gdb) p buf
    $2 = (BUF *) 0x8049600
    (gdb) p *buf
    $3 = {velkost = 0, udaje = '\0' <repeats 1023 times>}
    
    
    16.2.2005 13:15 Bronislav Klapuch | skóre: 8
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    Podle toho, jak sleduji zdroják, není použita funkce malloc() této globální struktury, proto se zřejmě nejedná o dynamické přidělení paměti.
    16.2.2005 15:30 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    na tom nezalezi. Kludne som tam mohol mat miesto buf = malloc() nieco ako:
    BUF fero;
    buf= &fero;
    17.2.2005 07:36 Bronislav Klapuch | skóre: 8
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    Děkuji za dosavadní odpovědi. Myslím, že se přece jen to céčko budu muset naučit. Obávám se, že by ode mne bylo nefér pokračovat v této debatě, dokud lépe nepochopím o čem je řeč. Proto se teď na pár dnů odmlčím. Mezitím co budu céčko studovat, pokusím se porovnat struktury, které se zobrazují, s těmi, které ne. Ten ukázkový příklad struktury mi funguje, tak jak píšete.
    17.2.2005 09:17 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: ddd a globální struktury
    Este ma napadla jedna vec. Ak mas ten pointer neinicializovany (ukazuje na pamat, ktora nie je tvoja) tak ti ho debugger moze vypisat ako cislo , ale nebude sa dat vypisat na co ukazuje. Preto odporucam, kazdu premennu inicializovat na nejaku hodnotu hned pri deklaracii.

    A ten postoj vyjadreny v tomto prispevku je veeelmi spravny ;-). Good luck.

    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.