-
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?
Następne wpisy z tego wątku
- 24.05.10 10:43 Maciek
Najnowsze wątki z tej grupy
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
Najnowsze wątki
- 2025-06-07 Mouser - koszt wysyłki
- 2025-06-07 Co robić, jak robić, aby dużo zarobić, a się nie narobić ?
- 2025-06-07 Co robić, jak robić, aby dużo zarobić, a się nie narobić ?
- 2025-06-07 Co robić, jak robić, aby dużo zarobić, a się nie narobić ?
- 2025-06-07 Warszawa => Software .Net Developer <=
- 2025-06-07 Warszawa => Junior SQL / FrontEnd developer <=
- 2025-06-07 Warszawa => Team Lead Data Engineer (Snowflake) <=
- 2025-06-07 Kraków => Kotlin Developer <=
- 2025-06-07 Warszawa => Senior Key Account Manager IT <=
- 2025-06-07 Gdańsk => PHP Developer <=
- 2025-06-07 Warszawa => Specjalista ds. Sprzedaży <=
- 2025-06-07 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-07 Warszawa => Sales Assistant and Customer Development Specialist <=
- 2025-06-07 Warszawa => Programista Full Stack .Net <=
- 2025-06-07 Lublin => Delphi Programmer <=