-------- Original-Nachricht --------
> Datum: Wed, 13 Aug 2008 22:03:23 +0100
> Von: Jonas Maebe <[EMAIL PROTECTED]>
> An: FPC-Pascal users discussions <fpc-pascal@lists.freepascal.org>
> Betreff: Re: [fpc-pascal] Converting C\'s bit field struct
> 
> On 13 Aug 2008, at 11:59, Vinzent Höfler wrote:
> 
> > Should be something like that:
> >
> > type
> >  Unsigned_7  = 0 .. (1 shl 7)  - 1;
> >  Unsigned_20 = 0 .. (1 shl 20) - 1;
> >
> > type
> >  page_t = bitpacked record
> 
> Yes and no: the layout of bitpacked records is by no means guaranteed  
> to be the same as that of a C record, regardless of the definition of  
> the C record.

Well, this is obviously a hardware structure and the actual layout should be 
checked regardless of the definition in C (IIRC, the C-standard doesn't 
guarantee any particular layout on such records neither).

> The internal format of bitpacked records is opaque and  
> must not be used in any case where data has to be interchanged or  
> where a particular layout is desired.

There was a reason why I brought up the portability issue. Honestly, what do 
you propose to mimic such stuff? I remember, we already had a discussion about 
that a couple of months ago. ;)

I don't want to bring up Ada again, but ... some years ago I implemented such 
nasty stuff for an embedded system. You might take a look for the 
implementation of system structures in that language 
http://www.gmx.de/mc/h9DZhQD3l4X4hfKafRIagg6e3PI6TW . Well, apart from 
Endianess issues, successful compilation virtually guarantees the layout.

I hope the link works, currently I don't own any web-space... Just click on 
that "GMX MediaCenter starten" button...


Vinzent.

-- 
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to