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 02:00 | Nová verze

    Jonathan Thomas oznámil vydání verze 4.0 nelineární střižny OpenShot. Nově podporuje nahrávání obrazu a zvuku, vylepšuje uživatelské rozhraní, mj. color grading, přidává další efekty a mnoho dalšího (seznam změn).

    |🇵🇸 | Komentářů: 0
    včera 17:22 | Komunita

    Proběhlo hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu si odhlasovali zodpovědné využívání generativní umělé inteligence.

    Ladislav Hagara | Komentářů: 1
    včera 16:11 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří vývoj Flatpaku částkou 508 640 eur.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Zajímavý software

    Byla vydána první veřejná verze v7.0-mk2 projektu Multikernel (mklinux), který umožňuje spouštět více nezávislých linuxových jader současně na jednom stroji bez hypervizoru.

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

    Heureka Group uspěla v soudním sporu se společností Google. Městský soud v Praze vydal rozhodnutí v oblasti soukromoprávního vymáhání soutěžního práva. Společnosti Heureka Group přiznal náhradu ušlého zisku ve výši 250 milionů korun, což spolu s úroky z prodlení a náhradou nákladů řízení činí více jak 410 milionů korun. Základem celého sporu bylo protisoutěžní jednání technologického giganta Google v letech 2013 až 2017. Google na

    … více »
    Ladislav Hagara | Komentářů: 8
    včera 14:44 | Komunita

    Dnešním dnem končí LTS podpora Debianu 11 s kódovým názvem Bullseye. K dispozici je Extended LTS podpora.

    Ladislav Hagara | Komentářů: 0
    28.8. 08:11 | Komunita

    Firma X zaslala předžalobní výzvu vývojáři projektu Nitter (Wikipedia), open-source alternativního frontendu k sociální síti X (ex-Twitter), a provozovatelům instancí jako XCancel, které umožňovaly číst příspěvky bez přihlášení, reklam a javascriptu. Údajně se dopouštějí „sběru dat“. Zdrojový kód Nitteru vývojář archivoval. Vývoj již dříve přerušil v roce 2024 po tehdejším omezení API X. X je dceřiná společnost SpaceXAI Elona Muska, provozující mj. kontroverzního chatbota Grok.

    |🇵🇸 | Komentářů: 24
    28.8. 02:22 | Nová verze

    Bylo vydáno Ubuntu 26.04.1 LTS, tj. první opravné vydání Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 4
    28.8. 02:11 | Zajímavý článek

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2025 (pdf). Incidentů ubylo, sofistikovanost útočníků roste.

    Ladislav Hagara | Komentářů: 1
    28.8. 00:55 | Nová verze

    Open source softwarový stack AMD ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán v nové major verzi 10.0. S ROCm.AI. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2527 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Pole v C

    16.3.2019 19:48 nikdonemo
    Pole v C
    Přečteno: 711×
    Dobrý den, při programování CAN Open protokolu jsem v jedné ukázce narazil na zajímavé řešení jak postavit adresář deskriptorů (OD).Když to ale napíšu do svého programu tak to hází error. Nejprve udělám makro, které je připraveno pro 4 hodnoty. Následně postavím pole, které se znažím pomocí makra naplnit.

    ..............................................................

    #define SDOREPLY(index, subindex,len,val)

    uint32_t SDOResponseTable[] = {

        SDOREPLY(0x1018, 0x01, 4, OD_VENDOR_ID),//zde to hází error

        SDOREPLY(0x1018, 0x02, 4, OD_PRODUCT_CODE),

        SDOREPLY(0x1018, 0x03, 4, OD_REVISION),

        SDOREPLY(0xFFFF, 0xFF, 0x0F, 0xFFFFFFFFL)

    };

    .................................................................

    Error píše: expected expression before ',' token

    Šlo by to udělat pomocí vícerozměrného pole, ale to se mi zdá jako velmi nepohodlná cesta a špatně by se s daty dál zacházelo. Hlavně by to nebylo tak pěkně průhledné. Děkuji za všechny rady.

    Řešení dotazu:


    Odpovědi

    Řešení 1× (pc2005)
    16.3.2019 19:59 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Pole v C

    Asi jste zapomněl na definici toho makra, protože takhle vám vždy expanduje na prázdný text, takže pak vlastně překládáte

    uint32_t SDOResponseTable[] = {
        ,
        ,
        ,
        
    };
    

    což pochopitelně neprojde.

    16.3.2019 23:02 debian+
    Rozbalit Rozbalit vše Re: Pole v C
    Do buducna, ak chces vidiet, aky je vystup po predprocesore, tak pouzi:
    cpp souce.c -o source_cpp.h
    17.3.2019 09:07 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Pole v C
    Případně "gcc -E". To má výhodu, že stačí vzít příkaz, kterým se soubor překládá, nahradit v něm "-c" přepínačem "-E" a preprocesor bude spuštěný přesně tak, jak by to bylo při překladu.
    17.3.2019 18:42 debian+
    Rozbalit Rozbalit vše Re: Pole v C
    Dik. O tom sposobe som nevedel.
    17.3.2019 18:07 qweasd
    Rozbalit Rozbalit vše Re: Pole v C
    #define SDOREPLY(index, subindex,len,val)
    :-D
    18.3.2019 10:34 nikdonemo
    Rozbalit Rozbalit vše Re: Pole v C
    Tak nakonec jsem makro odebral a pole udělal bez těch maker. Makro jsem definované měl, takže bude někde nějaká blbost. Super věc to s preprocesorem. O tom jsem neměl tušení.

    Děkuji za rady :)
    18.3.2019 10:59 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Pole v C
    Makro jsem definované měl

    Ano, ale tak, že vždy expandovalo na prázdný řetězec, což přesně odpovídá té chybě, kterou jste uvedl.

    18.3.2019 12:09 sad
    Rozbalit Rozbalit vše Re: Pole v C
    Příklady použití preprocesoru.
    #define square(x)    ((x) * (x))
    
    nebo
    #define getc(p)      (--(p)->cnt >= 0 \
                        ? (unsigned char) *(p)->ptr++ : _fillbuf(p))
    
    Za povšimnutí stojí závorky kolem argumentů a zpětné lomítko na konci pokračující řádky. Na větší funkce bych preprocesor raději nepoužíval.
    18.3.2019 13:49 debian+
    Rozbalit Rozbalit vše Re: Pole v C
    Nie je problem pouzivaj aj zlozitejsie vyrazy, ale potom ocakavaj pracu alebo otestuvavaj vysledok s/po predprocesore.
    18.3.2019 14:51 debian+
    Rozbalit Rozbalit vše Re: Pole v C
    Napr. ale aj:
    /* niekde definovane v kode alebo v includovanom subore */
    #define UNIX
    
    #ifdef UNIX
    	puts("Program spustas na typovo Unixovom operacnom systeme.");
    #endif

    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.