Re: C kérdés

hg12345 hg12345 at freemail.hu
Thu Oct 4 14:36:12 CEST 2007


Szia

a castoláson én is gondolkozam, de szerintem ilyenkor nem kell pointer.
(a gyakorlat úgy is megmutatja)
Egy hátránya van kicsit komplikált a leírása és talán több helyet is 
foglal. De ha nincs más megoldás.

Arra gondoltam, de ezt a forditók nagyobb része nem engedi:

typedef  Spec_t ......

Spec_t   AlarmDef @&Backup[48];

vagy GCC esetén

#define _ADDRESS(x) __attribute__((address(x)))
_ADDRESS(&Backup[48])  Spec_t  AlarmDef;


Mindkét megoldás forditó tipusonként azonos címre definiál egy 
változót, vagy hasonló területű valamit, csak a hordozhatóság 
kérdéses. MIvel nem  tudok C-ben  és nincs is gyakorlatom nem tudom 
mi a célszerűbb és hordozhatóbb. Gondolom ezek nem igazán, mert 
sok forditó specifikuselem tartalmaznak.


> > int Backup[100];
> >
> > struct DefAlarm{
> >                 unsigned type:10;
> >                 unsigned inv:1;
> >                 unsigned hys:1;
> >                 unsigned noVis:2;
> > };
> 
> Szerintem ez C-ben makróval egyszerű
> Mondjuk:
> 
> #define BackupAlarm ((struct DefAlarm *)Backup)
> 
> Aztán simán használod:
> 
>  BackupAlarm[48].inv = 0;
> 
> Palasik Sándor
> 
> Ui: a szkópot azóta is megelégedéssel használom :-) Nemrégen 
szóba került
> ...
> 
> -----------------------------------------
>           elektro[-flame|-etc]
> 

9 6 4  M É R N Ö K I    Á L L Á S   A   J O B L I N E –O N !
http://ad.adverticum.net/b/cl,1,6022,209896,260677/click.prm





More information about the Elektro mailing list