eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaWinAVR i bledy zalezne od optymalizacjiRe: WinAVR i bledy zalezne od optymalizacji
  • Data: 2010-05-14 14:33:15
    Temat: Re: WinAVR i bledy zalezne od optymalizacji
    Od: cepu69 <c...@t...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Maciek wrote:

    > //////////////////////////////////////////
    > 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".
    > O co w tym chodzi?

    http://mail.opensolaris.org/pipermail/tools-gcc/2005
    -August/000047.html


    czego? gcc -Wall -O2 -g strict_aliasing.c -o strict_aliasing
    strict_aliasing.c: In function ?main?:
    strict_aliasing.c:13: warning: dereferencing type-punned pointer will break
    strict-aliasing rules

    czego? ./strict_aliasing
    Testbyte 0, Testint 1

    czego? gcc -Wall -O1 -g strict_aliasing.c -o strict_aliasing

    czego? ./strict_aliasing
    Testbyte 1, Testint 1

    Zadanie domowe : Dowiedziec sie czym rozni sie kod wynikowy przy uzyciu
    optymalizacji -O1 a -O2?

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: