-
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
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
- Niby uziom ale nie
Najnowsze wątki
- 2025-05-06 "Unia Europejska poważnie myśli o wprowadzeniu całkowitego zakaz importu gazu
- 2025-05-05 Jak naładować akumulator iRobot DC 14,4V 3300 mAh zasilaczem ?
- 2025-05-05 Kopanie Bitcoinów kosztuje 137.000 $, więcej niż cena 95.000 $
- 2025-05-05 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-05-05 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-05-05 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-05 Gdańsk => Senior Node.js Developer (doświadczenie z framework Nest.j
- 2025-05-05 Salwador
- 2025-05-05 Gdańsk => Controlling systems Consultant <=
- 2025-05-05 Czeladź => Key Account Manager IT <=
- 2025-05-05 Zielona Góra => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, P
- 2025-05-05 Gdańsk => Senior Node.js Developer (Nest.js framework) <=
- 2025-05-05 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-05-05 Kraków => NMS System Administrator <=
- 2025-05-05 Gliwice => Business Development Manager - Network and Network Security