eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaCVAVR - jak nie inicjalizować wartości zmiennejRe: CVAVR - jak nie inicjalizować wartości zmiennej
  • Data: 2009-01-28 09:52:53
    Temat: Re: CVAVR - jak nie inicjalizować wartości zmiennej
    Od: EM <e...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: