C rejtelmek

Balla Zoltán vega55 at freeweb.hu
Wed Feb 28 00:03:10 CET 2007


From: "vajk fekete" <halaloszto at yahoo.co.uk>
>ha tenyleg az a problema, hogy a headerben valtozot akarsz definialni, akkor a rendes megoldas:
>
>1. a tipust a headerben definialod
>2. a valtozot a headerben definialod extern-kent
>3. minden .c fileban amiben hasznalni akarod a valtozot, includeolod a headert.
>4. a valtozot igazibol, nem extern-kent egyetlen .c fileban definialod. ezt a file tulajdonkeppen egy lib.
>
>a valtozo valami szuper globalis valtozo ugye. a fizikai helyfoglalasa a 4.-ban tortenik, a lenyeg hogy az a modul a 
>vegen hozza >legyen linkelve, hogy legyen cime es memoriaja) a valtozonak, egyszer. a header pedig biztositja, hogy 
>minden fileban, amiben >hivatkozol a valtozora, ismert legyen a tipusa, es tudjuk hogy majd lesz olyan modul ahol a 
>cimke fel van oldva.
>
>legyszi szolj, hogy tenyleg ez-e a problema. kicsit elmeleti a tudasom a temaban, c-ben tobb mint 10 eve nem 
>programoztam.
>
Majdnem ez forog fennt, csak nem valtozot definialok a headerben, hanem strukturat.

Ha jol ertemeztem, a megoldasom is gyakorlatilag ugyanez lett:
1 struktura externkent a headerben
2 ugyanez nem exterkent valamelyik modulban
3 az osszes modulban hivatkozas a headerre
De a struktura tagjainak elereset magaban a headerben teszem lehetove a #define XXX Bitmezo.Bit0  modon.

Ez igy mukodik a gyakorlatban, csak az a kerdes van e valami hatulutoje neki. C-re most kezdek atterni asm-rol, igy 
lehet hogy egy kicsit meg asm-es a szemleletem... ??!

Zoli 



More information about the Elektro mailing list