[elektro] c kérdés sokadszor
Moczik Gabor
pm_levlista at progzmaster.hu
Mon Jan 17 01:07:25 CET 2011
potyo wrote:
> egymástól. Globális változóra pontosan nem emlékszem, hogy mit csinál,
> de mintha valami olyasmi lenne, hogy az így megjelölt változó csak
> abban a forrásfájlban használható, amiben létre lett hozva, nem lehet
> rá másik forrásfájlból extern kulcsszóval hivatkozni.
Így van.
Globális (szakszerűbben file scope) változóra elérheted, hogy máshonnan
ne látszódjon.
Célszerű programozási praktika, hogy ami belső működést irányít, nem
kell hogy kívülről elérhető legyen, az legyen static. Ami nem static,
annak meg legyen értelmes egyedi neve, különben hamar "összeakadnak" a
moduljaid. Ha két egyforma nevű van, még ha nem is hivatkozol rá
extern-ként sehol, a linker akkor is hibát dob majd.
> 2. ha unionként hozod létre a változót, akkor lehet. Anélkül nem
> hiszem, én legalábbis még nem találkoztam vele, hogy lehetne.
> Ilyenekre találsz példát a chipek header fájljaiban (ha a hi-tech
> headerekben nemis, a C18 headerjeiben biztosan).
Hitech-ben van bit típus, bár én kerülném a használatát.
Lehet uniont és struktúrát használni, de arra érdemes ügyelni, hogy a
különféle méretű bitmezőket tartalmazó struktúrát packed-ként kellhet
deklarálni. Fordítófüggő hogy ezt hogyan kell, valamilyen #pragma,
kulcsszó, stb...
--
((( Móczik Gábor )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))
((( S.k.y.p.e.: moczik )))
More information about the Elektro
mailing list