C rejtelmek
Fuzesi Arnold
arnold.fuzesi.lista at gmail.com
Tue Feb 27 23:24:49 CET 2007
Ezt probaltam egy peldan keresztul megmutatni a korabbi levelben. Tokeletes
amit irsz! :)
A.
----- Original Message -----
From: "vajk fekete" <halaloszto at yahoo.co.uk>
To: <elektro at tesla.hu>
Sent: Tuesday, February 27, 2007 10:25 PM
Subject: Re: C rejtelmek
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.
vajk
----- Original Message ----
From: Moczik Gabor <pm at progzmaster.hu>
To: elektro at tesla.hu
Sent: Tuesday, 27 February, 2007 9:58:55 PM
Subject: Re: C rejtelmek
Balla Zoltán wrote:
>>pl. types.h file-t hozz letre:
>>
>>tartalma:
>>
>>typedef struct Bitmezo{
>> unsigned Bit0:1;
>> unsigned Bit1:1;
>>}KK_type;
Szerintem ez az altalanos megoldas:
Ha ez a struktura valamihez kotodik, akkor a valami.h -ba:
typedef struct {
unsigned ...
} Bitmezo;
extern Bitmezo KK;
VAGY
struct Bitmezo {
...
};
extern struct Bitmezo KK;
majd a valami.c -ben:
Bitmezo KK;
(vagy struct Bitmezo...)
Utana ha valahol kell a KK valtozo, akkor a valami.h-t kell include-olni.
> de a szerencsetlen MpLab
> IDE nem kinalja fel automatikusan a struktura tagok valasztasi
> lehetoseget,
> es igy ertelmet vesziti az egesz.
Miert is, mire kell ez?
> A megszakitasi problemaval meg talalkozott senki sem ?
En hitech C-ben hasznalok 2 szintu megszakitast, bar ott asszem maskepp
mukodik, mivel csak ilyen jellegu deklaracio kell:
void interrupt isr_hi(void)
{
}
void interrupt low_priority isr_lo(void)
{
}
--
((( Móczik Gábor )))--((( pm -> @ -> progzmaster -> . -> hu )))
((( Skype: moczik )))--((( Website: http://www.progzmaster.hu )))
-----------------------------------------
elektro[-flame|-etc]
___________________________________________________________
New Yahoo! Mail is the ultimate force in competitive emailing. Find out more
at the Yahoo! Mail Championships. Plus: play games and win prizes.
http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk
-----------------------------------------
elektro[-flame|-etc]
More information about the Elektro
mailing list