[HWnews] Keil C51 a prace s konstatami

pavel_t@centrum.cz pavel_t@centrum.cz
Středa Březen 17 15:27:45 CET 2004


Rada je prosta - vymazte strednik ; za definici konstanty. Kompilator to vyhodnoti jako konec radku. V pripade 

> KEYBOARD_TIMEOUT += KEYB_NOKEY;

se nic nedeje, maximalne si to vylozi jako prazdny radek (videl jsem kompilator i na toto vracejici Warning) ale vse funguje spravne.

V pripade

> if(KEYBOARD_TIMEOUT == KEYB_NOKEY){}
by zapis vypadal nasledovne
if(KEYBOARD_TIMEOUT == 0;){}

kompilator ; v konstante povazuje jako konec programoveho radku a vyhodnoti to jako chybu.

Nic si z toho nedelejte, dodnes mi to cas od casu ujede a dam v takovemto pripade na konec define ;

Pavel

 
______________________________________________________________
> Od: Petr Simek <psimek@jcu.cz>
> Komu: hw-list@mailman.nethouse.cz
> CC: 
> Datum: Wed, 17 Mar 2004 15:16:44 +0100 (Střední Evropa (běný čas))
> Předmět: [HWnews] Keil C51 a prace s konstatami
>
> 
> Dobry den,
> 
> mam v C51 definovounou konstatntu :
> 
> #define KEYB_NOKEY 0;
> 
> a kdyz ji pouziju napr pro pripocitani k promenne tak je to OK -
> 
> KEYBOARD_TIMEOUT += KEYB_NOKEY;
> 
> ovsem pokud ji pouziju pro porovnani nebo ji zkusim vratit v return tak
> se to prekladaci nelibi -
> 
> if(KEYBOARD_TIMEOUT == KEYB_NOKEY){}
> return(KEYB_NOKEY);
> 
> ovsem pokud na misto KEYB_NOKEY zapisu 0 , tak uz je vse OK. Nevite jak
> to obejit abych tam mohl mit tu hodnotu schovanou pod jmenem ?
> 
> 
> 
> *------------------------------------------------------------------------*
> | Petr Simek APS JU |
> | psimek@jcu.cz |
> *------------------------------------------------------------------------*
> 
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> HW-list@mailman.nethouse.cz
> http://nethouse.cz/mailman/listinfo/hw-list
> 







Další informace o konferenci Hw-list