definice externi konstanty v C
Hynek Sladky
econf@centrum.cz
Úterý Prosinec 4 12:39:13 CET 2007
Diky,
jenze #define se zpracuje pri kompilaci, nikoli az pri linkovani, coz
prave potrebuju.
Linker umi to, co chci (viz priklad s assemblerem), ale nevim, jak v C
napsat, aby to pak spravne slinkoval...
Hynek Sladky
Richard Kaliciak wrote:
> Dobry den,
>
> pouzite #define, napr.
>
> #define TIMER0PRESCALE 0x04 ///< timer 0 prescaler default
>
> nozete si vytvorit jeden subor hw_config.h, kde si definujete potrebne
> veci a potom ho vsade #include-jete:
>
> ----------------------------------
> #ifndef HW_CONFIG_H
> #define HW_CONFIG_H
>
> #define TIMER0PRESCALE 0x04 ///< timer 0 prescaler default
>
> #define LCD_CTRL_RS 0
> #define LCD_CTRL_RW 1
> #define LCD_CTRL_E 2
>
> #endif
> ----------------------------------
>
> Richard Kaliciak
>
>
> Hynek Sladky schrieb:
>
>>Dobry den,
>>
>>jak definovat externi konstantu v C?
>>
>>Mam knihovni funkci, ktera (zavisle podle HW na kterem bezi) potrebuje
>>slinkovat s ruznymi konstantami.
>>Napr.
>> NejakyReg |= konst_maska;
>>
>>pokud definuju
>>const unsigned char konst_maska=0x20;
>>tak se vytvori 8-bit promenna v casti pro kod.
>>
>>Pritom pokud bych pouzil assembler, tak toto mozne je:
>>XREF _konst_maska
>>in a,(NejakyReg)
>>or _konst_maska
>>out (NejakyReg),a
>>
>>Jenze pouzitim assembleru v C zdrojaku se zdrojak stava znacne
>>neprehlednym, tak bych to radsi udelal rovnou v C, pokud to je mozne...
Další informace o konferenci Hw-list