On Saturday 06 May 2006 03:04, Tomasz Narloch wrote:
> Grzegorz Konopko wrote:

> Nie orienruje sie w optymalizowaniu kodu z -O2 itp, ale
> dla ciekawosci przetestowalem ten programik i u mnie (athlon) zauwazylem
> ciekawe wyniki:
> jesli funkcje f napiszemy tak (dodamy printf() ):
> /***********************************************************************/
> short f(short *sptr, long *lptr)
> {
>         short x = *sptr;
>         //printf("wersja(4711): %p\n", &x);
>         //printf("wersja(9422): %p\n", sptr);
>
>         *lptr = 0;
>         //printf("wersja(0):  %p\n", sptr);
>         return *sptr + x;
> }
> /**********************************************************************/
> to wzaleznosci jaki komentarz printf-a odkomentuje to po kompilacji z
> -O2 program zwraca inny wynik:)
> To dopiero jest sztuczka:))))))

to nie jest żadna sztuczka tylko przypadek. przy złamaniu zasad aliasing-u
program może działać jak mu się podoba włącznie z SEGV :)
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym