eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProblem lekko OT, ale w WinAVR ;-)Re: Problem lekko OT, ale w WinAVR ;-)
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!not-for-mail
    From: J.F. <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Problem lekko OT, ale w WinAVR ;-)
    Date: Thu, 11 Jun 2009 15:52:51 +0200
    Organization: -
    Lines: 41
    Message-ID: <m...@4...com>
    References: <h0qku7$a6o$1@atlantis.news.neostrada.pl>
    <h0qrf0$nfq$3@atlantis.news.neostrada.pl>
    <7...@4...com>
    <h0qtdi$s2m$1@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: h82-143-187-50-static.e-wro.net.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=us-ascii
    Content-Transfer-Encoding: 7bit
    X-Trace: news.interia.pl 1244727304 24662 82.143.187.50 (11 Jun 2009 13:35:04 GMT)
    X-Complaints-To: u...@n...interia.pl
    NNTP-Posting-Date: Thu, 11 Jun 2009 13:35:04 +0000 (UTC)
    X-Newsreader: Forte Agent 1.93/32.576 English (American)
    X-Authenticated-User: jjjfox % interia+pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:565194
    [ ukryj 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: