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