Vyreseno: Pretypovani ukazatele struktury na bajt
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Neděle Únor 23 19:35:02 CET 2020
No ale visi tu ve vzduchu otazka, proc to predtim nefungovalo?
Prislo mi, ze by to fungovat taky melo ale mozna jsem neco prehlednul...
Dne 23.02.2020 v 19:09 Libor Konečný napsal(a):
> Vyzkouseno a funguje, dekuji moc.
> Libor
>
> Dne 23.2.2020 v 17:52 Miroslav Mraz napsal(a):
>> #include <stdio.h>
>> #include <stdint.h>
>> void funkce (void * ptr) {
>> uint8_t * from = (uint8_t *) ptr;
>> *from++=0x01 ;
>> *from++=0x02 ;
>> *from++=0x03 ;
>> *from++=0x04 ;
>> *from++=0x05 ;
>> *from =0x06 ;
>> }
>> struct hdr_s {
>> uint32_t ident;
>> uint16_t magic;
>> } hdr;
>> int main (void) {
>> funkce (&hdr);
>> printf("sizeof (hdr) = %ld\n", sizeof (hdr));
>> printf("hdr.ident = %08X, hdr.magic = %04X\n", hdr.ident, hdr.magic);
>> return 0;
>> }
>>
>> 1. Používat standardní typy proměnných v <stdint.h>.
>> 2. Řadit prvky struktury od největšího k nejmenšímu aby nevznikly díry.
>> Strukturu je dobré pojmenovat. Výpis je pak :
>> sizeof (hdr) = 8
>> hdr.ident = 04030201, hdr.magic = 0605
>>
>> Mrazík
>
> _______________________________________________
> 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