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 04:00 | Zajímavý software

    Americká společnost Reflection AI světu představila Beam, open-weight model s 501 miliardami parametrů (z toho 23 miliard aktivních), určený především pro programování a práci autonomních agentů. Podle autorů jejich model nabízí výkon srovnatelný s většími modely při výrazně nižších nárocích na výpočetní výkon. Beam nyní ještě prochází závěrečným testováním, na stránkách Reflection AI se však lze zaregistrovat a získat předběžný přístup. Váhy modelu, dokumentace a nástroje pro vývojáře mají být zveřejněny v průběhu tohoto měsíce.

    AfD 💙 | Komentářů: 0
    dnes 02:00 | Komunita

    OpenCourant je komunitní fork OpenRadioss, tj. open source softwaru pro simulace havárií, nárazů a vysoce nelineárních dynamických dějů metodou konečných prvků. Společnost Siemens v loňském roce dokončila akvizici společnosti Altair Engineering, jež před čtyřmi lety uvolnila open source verzi OpenRadioss svého proprietárního softwaru Radioss. Minulý týden Siemens OpenRadioss pohřbil. Integroval jej do svého softwaru Simcenter, webovou stránku OpenRadioss přesměroval na Simcenter a repozitář OpenRadioss na GitHubu odstranil.

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

    Pořadatelé devátého ročníku komunitního setkání správců nejen českých a slovenských sítí – CSNOG 2027, které se uskuteční 20. a 21. ledna, vyhlásili Call for Abstracts. Náměty na vystoupení mohou zájemci přihlašovat do 31. října na webu akce a vybírat mohou ze tří sekcí – správa sítí, legislativa a regulace a akademické projekty. Zveřejněny byly také Call of Partners určené sponzorům a partnerům setkání, kteří by například chtěli mít na

    … více »
    VSladek | Komentářů: 0
    včera 16:11 | Zajímavý software

    Strata je open-source inferenční engine, který umožňuje lokálně provozovat rozsáhlý čínský model Qwen3.8-Flash-Next, který by jinak nejspíše vyžadoval serverovou infrastrukturu, na běžném herním počítači s alespoň 12 GB VRAM, 32 GB RAM a dostatkem místa na SSD. Nároky na paměť a rychlost generování se liší s použitou variantou modelu Qwen. Zdrojový kód je dostupný na GitHubu, pod licencí MIT.

    AfD 💙 | Komentářů: 2
    včera 15:11 | Humor

    Americký prezident Donald Trump oznámil vznik federální Jednotky pro superinteligenci (Super Intelligence Force), která má koordinovat postup vlády, technologických firem, náboženských organizací a dalších institucí v oblasti rychle se rozvíjející umělé inteligence (Trumpem oficiálně nazývanou superinteligencí). SIF, podřízená přímo Trumpovi, má pomoci Spojeným státům udržet v oblasti SI technologický náskok nad světem a

    … více »
    AfD 💙 | Komentářů: 4
    včera 13:11 | Zajímavý software

    Klient je e-mailový klient pro GNOME s nativní podporou Proton Mailu, PGP a spamfiltrem řízeným AI. Napsaný je v Go s GTK4 a libadwaita. Připojuje se přímo k Proton Mailu (bez Proton Bridge), ke Gmailu, k Seznam.cz a k libovolné schránce IMAP/SMTP. Každou novou zprávu nejdřív posoudí spamfiltr a teprve potom ji ukáže a ohlásí. Rozhraní je česky a anglicky.

    Ladislav Hagara | Komentářů: 5
    včera 10:44 | Humor

    Hra Doom nově běží také v SQL databázi CedarDB. Představen byl SQLDoom. Vyzkoušet lze online demo. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 5.0. S podporou hardwarového dekódování videa na desktopu.

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

    Moderní linker mold, rychlejší alternativa k LLVM lld nebo wild, byl vydán v nové major verzi 3.0.0. Přepsán byl z C++ do Rustu.

    Ladislav Hagara | Komentářů: 3
    5.10. 20:22 | Nová verze

    Po osmi letech od vydání verze 2.0 byla vydána nová major verze 3.0 multiplatformního editoru tagů MusicBrainz Picard (Wikipedie). Přehled novinek, vylepšení a oprav v changelogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2808 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Segmentation fault při kopírování argv[]

    21.7.2008 00:10 Snur | skóre: 5
    Segmentation fault při kopírování argv[]
    Přečteno: 730×
    Zdravím. Vytvářím v céčku aplikaci která bude číst vstup přes argumenty zadané v příkazové řádce. Mám však problém s kopírováním parametrů z argv[] do připraveného pole. Ovšem tištění platných parametrů problém nedělá. Zde je část zdrojového kódu:
    #include < stdio.h >
    #include < stdlib.h >
    #include < string.h >
    
    int main(int argc, char * argv[])
    {
    	char argvtemp[100];
    	strcpy(argvtemp,argv[1]);
            .
            .
            .
    
    Při spuštění dělá toto:
    ~$ ./program --parametr="Super věc"
    Neoprávněný přístup do paměti (SIGSEGV)
    
    Když se na to podívám přes gdb tak uvidím toto:
    Breakpoint 1, main (argc=1, argv=0xbf864434) at desccreator.c:8
    8               strcpy(argvtemp,argv[1]);
    (gdb) step
    Program received signal SIGSEGV, Segmentation fault.
    0xb7e22cc0 in strcpy () from /lib/libc.so.6
    
    A když napíši tohle namísto strcpy():
    printf("%s\n",argv[1]);
    přeložím a spustím, dostanu normálně:
    ~$ ./program --parametr="Super věc"
    --parametr="Super věc"
    
    Nevíte někdo co s tím? Už si opravdu nevím rady. Připadá mi to na hlavu postavené, strcpy() přece z argv[] jen čte stejně jako printf(), tak proč u kopírování dochází k chybě a u tištění ne? Do programu takhle načítám data poprvé takže možná že dělám někde chybu. Budu vděčný za každou radu.

    Odpovědi

    21.7.2008 00:33 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: Segmentation fault při kopírování argv[]
    Nevidím důvod, proč by měl program padat, když je mu zadán parametr kratší než 99 znaků, což se v tomto případě děje, i tak je v něm ale chyba. Nelze dopředu zaručit, že bude nastaven jiný než první prvek pole, počet parametrů programu udává parametr argc funkce main. Dále je třeba dát pozor na délku řetězce.
    char *p;
    …
    if (argc >= 1) {
      p = malloc(strlen(argv[1])+1);
      if (p != NULL) {
        strcpy(p, argv[1]);
      }
    }
    …
    
    21.7.2008 00:34 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: Segmentation fault při kopírování argv[]
    Měl bych si dávat větší pozor, v podmínce má být samozřejmě argc >= 2.
    21.7.2008 00:44 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Segmentation fault při kopírování argv[]
    Netusim, cim je to sposobene, ale vsimni si vypis breakpointu:
    Breakpoint 1, main (argc=1, argv=0xbf864434) at desccreator.c:8
    argc=1 a ty sa snazis citat z argv[1].
    If you hold a Unix shell up to your ear, you can you hear the C.
    21.7.2008 03:43 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Segmentation fault při kopírování argv[]
    Ten kód je funkční (ale v pořádku není, viz předchozí příspěvky). Spíš si myslím, že v tom programu máš ještě jednu chybu, která vyvolá SIGSEGV, i když program spustíš s parametrem (nebo leda že by sis ten výpis po spuštění vymyslel), ale když program debuguješ, zapomeneš tam ten parametr dát a program slítne hned na strcpy :-)
    21.7.2008 06:07 pakanek | skóre: 28 | Vyškov
    Rozbalit Rozbalit vše Re: Segmentation fault při kopírování argv[]
    Me ten tvuj kod hazi SIGSEGV jen pokud jej spustim bez parametru. Pokud jej spustim s parametrem, tak je program v poradku.
    Všechno dobré je pro něco zlé.
    21.7.2008 12:06 Snur | skóre: 5
    Rozbalit Rozbalit vše Re: Segmentation fault při kopírování argv[]
    Máte všichni pravdu.U spouštění programu jsem na argumenty nezapomínal, ovšem během ladění v gdb už ano. Proto ten argc=1, což jsem si měl taky všimnout. Takže během všelijakých úprav se zdrojovým kódem jsem dostávál zkreslené informace o pravém původci chyby což v mém případě byla malá chyba v jedné funkci kterou jsem si napsal a chtěl rychle otestovat, proto ten nedotažený kód. Ale jak vidno měl jsem ho přece v tomto případě dotáhnout, dříve bych přišel kde dělám chybu. Taková stupidní chyba - připadám si jak blbec. Velice díky za rady.

    Založit nové vlákno • Nahoru

    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.