eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProblem lekko OT, ale w WinAVR ;-)Problem lekko OT, ale w WinAVR ;-)
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!
    atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
    From: Grzegorz Kurczyk <g...@c...slupsk.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Problem lekko OT, ale w WinAVR ;-)
    Date: Thu, 11 Jun 2009 12:03:52 +0200
    Organization: TP - http://www.tp.pl/
    Lines: 45
    Message-ID: <h0qku7$a6o$1@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: control.slupsk.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: atlantis.news.neostrada.pl 1244714761 10456 80.52.170.66 (11 Jun 2009
    10:06:01 GMT)
    X-Complaints-To: u...@n...neostrada.pl
    NNTP-Posting-Date: Thu, 11 Jun 2009 10:06:01 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; PL; rv:1.8.1.21) Gecko/20090403
    SeaMonkey/1.1.16
    X-Antivirus: avast! (VPS 090610-0, 2009-06-10), Outbound message
    X-Antivirus-Status: Clean
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:565183
    [ ukryj nagłówki ]

    Witam Kolegów.

    Tak sobie kombinuję. Jest struktura:

    typedef struct {
    uchar x;
    uchar y;
    uchar w;
    uchar h;
    } tRect;


    i przykładowa funkcja:
    void Rysuj(tRect r) {
    Prostokat(r.x, r.y, r.x+r.w, r.y+r.h);
    }

    Pojawił mi się problem składni języka C i nie mogę się doszukać jak to
    obejść. Funkcję z poziomu programu głównego możemy wywołać:

    int main (void) {
    tRect r;
    r.x = 10;
    r.y = 20;
    r.w = 100;
    r.h = 10;
    Rysuj(r);
    }

    Czy jakoś można wywołać funkcję rysuj podając jej parametry bezpośrednio
    bez uprzedniego definiowania zmiennej r ?
    Coś w stylu:
    Rysuj({10,20,100,10});
    co oczywiście nie działa :-)

    Pewnie, że można zrobić funkcję:
    void Rysuj(char x, char y, char w, char h) {
    Prostokat(x, y, x+w, y+h);
    }
    i po kłopocie, ale chodzi mi o pewną "sztuczkę" związaną z optymalizacją
    WinAVR w zakresie przekazywania parametrów do funkcji za pośrednictwem
    rejestrów.

    Pozdrawiam
    Grzegorz

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: