Pretypovani ukazatele struktury na bajt

Miro su as5sgm na gmail.com
Neděle Únor 23 17:42:24 CET 2020


Preco mate ako parameter funkcie smernik na uint8 a nie na strukturu?

Miro

On Sun, 23 Feb 2020, 17:41 Libor Konečný, <support na mikrovlny.cz> wrote:

> Tak sizeof je 8
> a zajimala by me ta spravna konstrukce, je tajna nebo muzete prozradit ?
>
>
> LK
>
> Dne 23.2.2020 v 17:30 Jaroslav Buchta napsal(a):
>
> To  je zajimava otazka, ale v kazdem pripade by to snad melo naplnit aspon
> ten UINT16... Pokud nejde o nejakou exotickou architekturu.
> Ale jinak je to asi vzorova ukazka konstrukce, jaka by se zasadne pouzivat
> nemela.
>
> Dne 23.02.2020 v 17:25 Jindroush na seznam.cz napsal(a):
>
> Jaký je sizeof té struktury?
>
> J.
>
> ---------- Původní zpráva ----------
> Od: Libor Konečný
> Datum: 23. 2. 2020 v 17:14:03
> Předmět: Pretypovani ukazatele struktury na bajt
>
> Zdravim osazenstvo, predevsim zdejsi programatory.
>
> S novym kompilatorem (ten stary to nejakou zahadou umel) resim
> pretypovani ukazatelu.
>
> Mam funkci (zjednodusene)
> void funkce (UINT8 * from)
> {
> *from++=0x01 ;
> *from++=0x02 ;
> *from++=0x03 ;
> *from++=0x04 ;
> *from++=0x05 ;
> *from=0x06 ;
> }
>
>
> A pak strukduru
> struct {
> UINT16 magic;
> DWORD ident;
> } hdr;
>
> A potrebuji ji naplnit,
> tedy volam
> funkce ((UINT8*)&hdr);
>
> ale kompilator to naplni vzdy jen jednim znakem
>
> tedy vysledek je ze hdr.magic ma jen prvni bajt spravny.
>
> Pokud pouziji strukturu
> struct {
> UINT8 pole[6];
> } hdr;
>
> Pak se naplni vsech 6 bajtu spravne.
>
> Jak ji volat spravne aby se struktura prepisovala bajt po bajtu ?
> (little a big endian zanedbejme)
> Je zvlastni, ze stary kompilator fungoval spravne.
>
> Dekuji za nakopnuti.
> LK
>
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.czHw-list na list.hw.czhttp://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.czHw-list na list.hw.czhttp://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20200223/75c64986/attachment.html>


Další informace o konferenci Hw-list