-
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
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
Najnowsze wątki
- 2025-06-24 Delegacja osoby prowadzącej jednoosobową działalność
- 2025-06-24 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-06-24 Warszawa => Młodszy Programista SQL / FrontEnd developer <=
- 2025-06-24 Warszawa => Junior C# / FrontEnd developer <=
- 2025-06-24 Warszawa => Sales Executive / KAM <=
- 2025-06-23 Warszawa => MENA New Business Manager <=
- 2025-06-23 Trójmiasto => Head of Social Media <=
- 2025-06-23 Tapeta w Xiaomi
- 2025-06-23 Gdańsk => Programista Kotlin <=
- 2025-06-23 Białystok => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-23 Warszawa => Senior Account Manager <=
- 2025-06-23 Białystok => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-23 Warszawa => Starszy Programista C <=
- 2025-06-23 Warszawa => Tester Automatyzujący <=
- 2025-06-23 Warszawa => Inżynier oprogramowania .Net <=