-
Data: 2013-05-17 08:41:44
Temat: Re: s->tab[i]
Od: Marcin <m...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On May 17, 5:18 am, "Zbynio" <i...@d...pl> wrote:
> Witam,
> AvrStudio AVR
> Czy taka operacja może się źle skompilować ?
>
> Mam strukturę i do niej wskaźnik i w niej tablice i różne takie
>
> i gdzieś w kodzie robie sobię
>
> while (i--) {
> s->tab[i] = s->costam[i];
>
> albo coś podobnego tyle, że
>
> uint8_t *ptr = (uint8_t *) &struktura;
>
> i dalej to samo
>
> while (i--) {
> s->tab[i] = ptr[i];
>
> Czy ma to prawo nie działać ? Tak jakby się dane nie przepisywały.
Przy zalozeniu, ze "s" to wskaznik na strukture a nie sama struktura,
powinno byc ok. Na szybko sobie sprawdzilem w Keilu na inny procesor,
czy z punktu widzenia C jest ok.
Wersja "s->tab[i] = ptr[i];" troche optymistycznie przyjmuje, ze adres
poczatku struktury jest tozsamy z poczatkiem pierwszej tablicy w niej
zawartej (jesli jest pierwszym elementem struktury). Tu bedzie
probowac przepisywac kolejne bajty z poczatku struktury do tablicy,
bedacej gdzies w tej strukturze. Jak dla mnie to ryzykowne, pozniejsze
zmiany w typedef structury na pewno cos popsuja.
Marcin
Następne wpisy z tego wątku
- 17.05.13 09:06 Zbynio
- 17.05.13 09:19 J.F
- 17.05.13 09:30 ajt
- 17.05.13 09:42 Marcin
- 17.05.13 22:03 Zbynio
- 17.05.13 22:10 Zbynio
- 17.05.13 22:30 Zbynio
- 17.05.13 22:32 Zbynio
Najnowsze wątki z tej grupy
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=