CCS 550 a vnorene struktury

Tomáš Hamouz hamouz na divesoft.cz
Čtvrtek Březen 20 11:30:51 CET 2014


Musel byste napsat buď


struct __attribute__((packed)) sDhcpTmp1 {
        struct sDhcpTmp dat[DHCPT_poc];
        uint32_t ind; // ind. pro prenos z parse_msg do parse_opt =DHCPT_poc neplatny
} dhcpTmp;

nebo

tzpedef struct  { // probihajici akce, jeste neni hotovo
         uint32_t ipInd;    // index pridelene IP
         uint8_t  rozInd;   // index rozsahu
         uint8_t  st;       // stav 0 volno/hotovo, 1-5 offer-iddle, 255 prave zalozeno
         uint32_t xid;      // Transaction Identifier
 } __attribute__((packed)) t_sDhcpTmp;


struct __attribute__((packed)) sDhcpTmp1 {
        t_sDhcpTmp dat[DHCPT_poc];
        uint32_t ind; // ind. pro prenos z parse_msg do parse_opt =DHCPT_poc neplatny
} dhcpTmp;


Tomáš

> Dobrý den všem,

> mějme následující kód:

> #define DHCPT_poc 256

> struct __attribute__((packed)) sDhcpTmp { // probihajici akce, jeste neni hotovo
>         uint32_t ipInd;    // index pridelene IP
>         uint8_t  rozInd;   // index rozsahu
>         uint8_t  st;       // stav 0 volno/hotovo, 1-5 offer-iddle, 255 prave zalozeno
>         uint32_t xid;      // Transaction Identifier
> };

> struct __attribute__((packed)) sDhcpTmp1 {
>         sDhcpTmp dat[DHCPT_poc];                       // <<< tady
>         uint32_t ind; // ind. pro prenos z parse_msg do parse_opt =DHCPT_poc neplatny
> } dhcpTmp;

> Proč při překladu vznikne na řádku označeném "<<< tady" následující chyba?

> error: identifier "sDhcpTmp" is undefined

> Zkoušel jesm odstranit  __attribute__((packed)), nebo přidat typedef, ale žádná změna.

> Děkuji,
> PH
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list