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