-
Data: 2009-06-11 13:52:51
Temat: Re: Problem lekko OT, ale w WinAVR ;-)
Od: J.F. <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Thu, 11 Jun 2009 14:28:34 -0400, T.M.F. wrote:
>>> void Rysuj(tRect&t);
>>> Inaczej kompilator musi utworzyc kopie obiektu tRect i ta kopie dopiero
>>> przekazac do funkcji.
>>
>> W C++ moze to byc faktycznie kosztowne.
>
>W C tez powinno byc kosztowne. Bo skad kompilator ma wiedziec, ze Rysuj
>nie modyfikuje struktury tRect?
Nie musi wiedziec. Ma wrzucic cala na stos, co powinno pojsc dosc
szybko.
>> W pozostalych sytuacjach trzeba by spojrzec w kod wynikowy co lepiej
>> kompilatorowi wyszlo.
>> A wracajac do meritum .. wychodzi na to ze najlepiej byloby odwrocic
>> sprawe - zrobic funcje z 4 parametrami, a nad nia ewentualnie
>> nadbudowac wersje ze struktura.
>> I nie korzystac z niej bez potrzeby :-)
>
>Niekoniecznie. 4 parametry to w idealnym przypadku 4 8-bitowe rejestry.
>Zazwyczaj wiaze sie to z ich wczesniejszym odlozeniem na stosie i potem
>ponownym pobraniem. Przy przekazaniu przez wskazanie mamy tylko dwa
>8-bitowe rejestry wskazujace na strukture, co wiaze sie zmniejszym
>nakladem na przekazanie parametrow. W procedurze czesto jest to
>optymalizowane jako LD Rx,Z+y, lub podobne.
Sa to pewne zalozenia i wymagaja odpowiedniego procka.
W wielu moze wyjsc odwrotnie.
>OT: to co chce zrobic autor wydaje sie lepiej zrealizowac w C++.
No, Jesli pamietacie Piotra Wyderskiego to on to polecal od dawna,
i chyba mamy przyklad ze by sie przydalo.
Choc w sumie .. jedno makro, troche dyscypliny [potrzebnej tez w ++] i
mozna w zwyklym C miec trzy wersje do wyboru, dopasowujac sie do
procka.
J.
Następne wpisy z tego wątku
- 11.06.09 14:16 Grzegorz Kurczyk
- 11.06.09 15:02 J.F.
- 11.06.09 15:30 Grzegorz Kurczyk
- 11.06.09 17:45 Zbych
- 11.06.09 18:51 Adam Dybkowski
- 12.06.09 00:53 T.M.F.
- 12.06.09 00:56 T.M.F.
- 12.06.09 00:58 T.M.F.
- 11.06.09 19:01 Zbych
- 11.06.09 19:02 Zbych
- 11.06.09 20:16 Adam Dybkowski
- 12.06.09 03:35 T.M.F.
- 12.06.09 03:37 T.M.F.
- 12.06.09 07:54 Zbych
- 12.06.09 08:14 Zbych
Najnowsze wątki z tej grupy
- 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
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
Najnowsze wątki
- 2025-01-27 OT musk
- 2025-01-27 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-27 Warszawa => Java Developer <=
- 2025-01-27 Warszawa => Data Engineer (Tech Lead) <=
- 2025-01-27 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-27 Kto ma PRAWNĄ rację? poseł KO mec. R. Giertych v. mec. B. Lewandowski
- 2025-01-27 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-27 Koszyk okrągły, walec 3x AA, na duże paluszki R6
- 2025-01-27 Warszawa => QA Engineer <=
- 2025-01-27 Warszawa => Analityk Biznesowo-Systemowy <=
- 2025-01-27 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-27 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-27 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-27 Kraków => User Experience Designer <=
- 2025-01-27 Kraków => iOS Developer (Swift experience) <=