eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaWinAVR i bledy zalezne od optymalizacjiRe: WinAVR i bledy zalezne od optymalizacji
  • Data: 2010-05-14 12:51:18
    Temat: Re: WinAVR i bledy zalezne od optymalizacji
    Od: "Maciek" <f...@i...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]


    Uzytkownik "Maciek" <f...@i...pl> napisal w wiadomosci
    news:c7bf7c3c-7c6b-48b6-8db1-280fec0db4ee@h39g2000yq
    n.googlegroups.com...
    > Czesc,
    >
    > mam taki oto fragment kodu kompilowany w WinAVR-20100110:
    >
    > //////////////////////////////////////////
    > struct _TestStruct
    > {
    > unsigned Flag :1;
    > };
    >
    > unsigned char TestByte;
    > int TestInt;
    >
    > TestByte = ((struct _TestStruct *)&TestInt)->Flag;
    > ///////////////////////////////////////////
    >
    > Po skompilowaniu z optymalizacja -O0, -O1 wszystko jest ok. Natomiast
    > po skompilowaniu z optymalizacja -O1, -O2, -O3, -Os,
    > kompilator wypisuje blad: "dereferencing type-punned pointer will
    > break strict-aliasing rules".

    Dodam tylko, ze gdy zmienna TestInt jest typu 'char' - blad sie nie pojawia.
    Blad dotyczy oczywiscie linii, w ktorej wartosc bitu Flag jest przepisywana
    do zmiennej TestByte.

    Maciek


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: