-
Data: 2009-06-11 18:28:34
Temat: Re: Problem lekko OT, ale w WinAVR ;-)
Od: "T.M.F." <t...@n...mp.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]>> Poza tym co radzi ci Zbych jesli zalezy ci na efektywnosci to przekazuj
>> strukture tRect przez wskazanie:
>> 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? Mozna go wspomoc poprzez const, ale IMHO
wskazanie ma pare zalet o ktorych za chwile.
> 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.
OT: to co chce zrobic autor wydaje sie lepiej zrealizowac w C++. BTW, w
moim repozytorium SVN jest przyklad sterownika do S65 z cala biblioteka
prymitywow w C++.
Następne wpisy z tego wątku
- 11.06.09 13:52 J.F.
- 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
Najnowsze wątki z tej grupy
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
Najnowsze wątki
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Czy grupa p.s.prawo przetrwa najbliższe wybory (prezydenta)?
- 2025-03-19 Warszawa => Frontend Developer (obszar Angular13+) <=
- 2025-03-19 Czy "niedopuszczony pełnomocnik" jest w prawie się na to skarżyć jak "świadek" zmarła bez zostawienia mu takiej instrukcji?
- 2025-03-19 Kraków => Business Development Manager - Network and Network Security
- 2025-03-19 Ostrów Świętokrzy => Node.js / Fullstack Developer <=
- 2025-03-19 Kraków => IT Expert (Network Systems area) <=
- 2025-03-19 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-03-19 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-19 Kraków => Programista MS Dynamics 365BC/NAV <=
- 2025-03-19 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-03-19 Gdańsk => PHP Developer <=
- 2025-03-19 Kraków => MS Dynamics 365BC/NAV Developer <=