eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaCVAVR - jak nie inicjalizować wartości zmiennejRe: CVAVR - jak nie inicjalizować wartości zmiennej
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: EM <e...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: CVAVR - jak nie inicjalizować wartości zmiennej
    Date: Wed, 28 Jan 2009 10:52:53 +0100
    Organization: http://onet.pl
    Lines: 43
    Message-ID: <glp9se$ef9$1@news.onet.pl>
    References: <glmqed$v63$1@news.onet.pl> <gln3mi$tll$1@news.onet.pl>
    <glo09h$l4k$1@atlantis.news.neostrada.pl> <glo191$241$4@news.wp.pl>
    <glo59q$2es$1@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: terc.internet.radom.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1233136334 14825 81.15.165.10 (28 Jan 2009 09:52:14 GMT)
    X-Complaints-To: a...@o...pl
    NNTP-Posting-Date: Wed, 28 Jan 2009 09:52:14 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
    In-Reply-To: <glo59q$2es$1@atlantis.news.neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:555202
    [ ukryj nagłówki ]

    T.M.F. pisze:
    > Adam Dybkowski pisze:
    >> T.M.F. pisze:
    >>
    >>> W AVR-gcc wystarczy stworzyc globalna zmienna niestatyczna,
    >>> kompilator nie inicjalizuje takich zmiennych.
    >>
    >> Jeżeli zmienna wpadnie do sekcji .bss - to zostanie automatycznie
    >> wyzerowana. Jeżeli potrzeba zmiennej, która nie będzie inicjowana,
    >> trzeba skorzystać z dobrodziejstwa sekcji ".noinit".
    >
    > W takim przykladzie:
    > void main()
    > {
    > int a;
    >
    > if(a==costam) DoSomething();
    > }
    >
    > Zmienna a nie bedzie inicjalizowana. Poniewaz za kazdym razem trafia w
    > to samo miejsce programu jej wartosc bedzie zachowana pomiedzy
    > uruchomieniami. Oczywiscie kompilator wyrzuci ostrzezenie, ze uzywamy
    > niezainicjalizowanej zmiennej, ale w koncu o to nam chodzi.

    Bardzo ciekawa propozycja jak dla mnie.
    Rozumiem, że program przy każdym uruchomieniu natrafi na ten sam obszar
    w RAM, a nie powinien on być inicjowany - zerowany.
    Nie stanowi natomiast problemu, że tak na prawdę nie wiem jaki to będzie
    adres.
    Wcześniej próbowałem
    void main()
    {
    char data @0x60;;
    ....
    }

    ale taki podanie adresu działa tylko dla zmiennych globalnych.


    Sprawdzam...
    --
    Pozdrawiam
    EM

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: