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 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 4
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 4
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 15
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    10.7. 21:00 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    10.7. 12:55 | Bezpečnostní upozornění

    Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].

    Ladislav Hagara | Komentářů: 16
    10.7. 11:55 | Humor

    Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂

    Ladislav Hagara | Komentářů: 16
    10.7. 02:11 | Nová verze

    Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    10.7. 01:11 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.

    Ladislav Hagara | Komentářů: 1
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (27%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 391 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Pole v C

    16.3.2019 19:48 nikdonemo
    Pole v C
    Přečteno: 652×
    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: 72 | 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: 72 | 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: 72 | 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.