AVR-GCC i kolejny glupi problem z niechciana konwersja

Loading thread data ...

Dnia pią 9. kwietnia 2004 20:50 Darek R. napisał(a):

ZTCW to nie da się. Należy case unikać i przejrzeć archiwum listy avr-gcc,

formatting link
gdzie OIDP problem się przewinął parę razy.

Pozdrawiam

Reply to
Marcin Stanisz

No fakt. Dziwne swoja droga ze gcc nie optymalizuje ..

O, spowobow kompilacji switcha jest sporo, kompilator powinien dobrac odpowiedni..

A probowales case '\x03' ?

J.

Reply to
J.F.

Moze wymus switch ((unsigned char) xxx) {} ?

pozdr. LB

Reply to
drozdu

To bynajmniej w zaden sposob nie zabrania konwersji.

J.

Reply to
J.F.

No coz - zawsze podejrzewalem ze gcc wyrosly w zasadzie na 32 bitach moze niezbyt pasowac do 8 :-)

Jest tam jakis adres - pomecz tworcow.

J.

Reply to
J.F.

W takim przypadku przeciez mozesz explicite zrobic tablice z adresami kilkudziesieciu funkcji i wywolywac je przez wskaznik czytany z tablicy. To nawet wygodniejsze rozwiazanie, niz rozwijac switch'a. A jak sie zrobi z tego kilkaset funkcji to latwiej bedzie calosc rozparcelowac na kilka oddzielnych plikow zrodlowych, niz trzymac tyle kodu w jednym (trudniej zapanowac nad 1 plikiem dlugosci 100 KB, niz 5 x 20 KB). Poza tym w wielu przypadkach duzo czytelniejsza jest tablica z nazwami funkcji (np. obslugiwanych komend czy stanow jakiegos automatu), niz taki wieeeeloliniowy switch.

Reply to
Adam Dybkowski

Nie zabrania tylko wymusza (zwsze bedzie traktowany jako unsigned char czy nie ?), u mnie dziala ok. ale poczytaj sobie np: na temat opcji -mint8 cos tam chyba bylo na ten temat, moze to cos da... Bo dziwne mi sie to wydaje ze unsigned char jest 2 bajtowy u ciebie moze jeszcze cos takiego, a w zadnym wypadku przy takim zapisie nie powinno juz byc dwoch konwersji przy zutowaniu (char->int->char).

pozdr. LB

Reply to
drozdu

Dnia sob 10. kwietnia 2004 02:24 Darek R. napisał(a):

Jak to mówią... Darowanemu koniowi nie zagląda się w zęby ;-) Albo się przysiada fałdów i poprawia kod avr-gcc.

Pozdrawiam

Reply to
Marcin Stanisz

Nie martw sie - ine kompilatory tez maja wady. Moze nawet ten sam problem ze switchem. Co wiecej - support cie zlekcewazy, bo przeciez dziala. A do gcc masz zrodla - mozesz poprawic :-))))

J.

Reply to
J.F.

A wlasnie - probowales dac opcje optymalizacji ? Powinno mu sie udac.

J.

Reply to
J.F.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.