-
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
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
- Czym obecnie programuje się EPROM-y?
Najnowsze wątki
- 2025-09-16 China => Production Coordinator / Representant Product Dev <=
- 2025-09-16 Warszawa => Project Manager (AI and innovation) <=
- 2025-09-15 "Jeden telefon z Waszyngtonu i nasze samoloty nie wystartują" - czyli to co każdy koder wie
- 2025-09-15 UE chce uruchomić SI "Chat Control" na kompach wszystkich euroPejczyków
- 2025-09-15 Sejm odrzucił zakaz idelogii banderyzmu
- 2025-09-15 Nieprawidłowe parkowanie
- 2025-09-15 Poznań => Konsultant SAP HCM <=
- 2025-09-15 Warszawa => Specjalista rekrutacji IT <=
- 2025-09-15 Warszawa => International Freight Forwarder <=
- 2025-09-15 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-09-15 Warszawa => Engineering Manager (doświadczenie w branży lotniczej lu
- 2025-09-15 "Jestem z ..."
- 2025-09-15 jak sprawdzić czy zerwałem gwint
- 2025-09-14 UWAGA: MAM PODEJRZENIE, ŻE onet.pl DOKONUJE ATAKÓW!!!
- 2025-09-14 zarobki w 1995r