[345] unreachable code
Jindrich Kubec
kubecj na asw.cz
Pátek Květen 13 22:00:03 CEST 2011
At 21:49 13.5.2011, Hfmcons wrote:
>Zdravím,
>zkou¹ím ve volných chvílích pøevest C zdroják
>zatím neznámého kompilátoru testovací desky na C
>zdroják C kompilátoru Microchip. U¾ jsem v¹echny
>rozdíly poøe¹il, ale s následujícím si zatím
>nevím rady. Co je k èertu na téhle konstrukci
>tak stra¹ného, ¾e jde pøelo¾it ale nefunguje funkce display7s:
>
>unsigned char display7s(unsigned char v)
>{
> switch(v)
> {
> case 0:
> return 0xEE; //tady bude nìco v nepoøádku
> break; // tady to hází subj.
>
> default:
> return 0;
> break; // tady to hází subj.
> }
>return 0; //tady return pùvodnì nevracel
>¾ádnou hodnotu naco¾ C MC protestoval
>}
Tak unreachable code to je, kdyz udelate ten
return, uz se to na ty breaky nedostane.
Jakoze ausgerechnet tohle se pise jako makro,
nejhur tedy jako return v ? 0 : 0xEE;
Pokud je to jen minimal case a tech case je tam
vic, treba to napsat pres tempvar, vzdy nastavit
hodnotu a na konci ji vratit - tj. jeden return.
Jindroush (kubecj na avast.com)
http://www.kostky.org - Pro fany stavebnic LEGO.
Další informace o konferenci Hw-list