definice externi konstanty v C
Miroslav Sinko
sinkomiro@rocketmail.com
Úterý Prosinec 4 12:47:00 CET 2007
ako som uz pisal:
extern typ meno_konstanty;
Je to pre kompilator informacia, ze premenna tohto mena a typu existuje
v inom module (zdrojak, lib, obj). Teda kompilator sa o nu dalej
nestara, az linker.
miro
--- Hynek Sladky <econf@centrum.cz> wrote:
> 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...
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
____________________________________________________________________________________
Get easy, one-click access to your favorites.
Make Yahoo! your homepage.
http://www.yahoo.com/r/hs
Další informace o konferenci Hw-list