[fpc-pascal] Memory alignment with FPC

dhkblaszyk at zeelandnet.nl dhkblaszyk at zeelandnet.nl
Wed Oct 10 14:31:31 CEST 2012


On 10 okt '12, Sven Barth wrote: 

> Am 10.10.2012 12:02, schrieb
dhkblaszyk at zeelandnet.nl: [1]
>> Does FPC ensure the same memory
alignment for records and objects over different platforms? If I want to
be sure to have the same alignment must I use packed (with possibly some
aligning assigned) records instead in combination with data types that
are guaranteed to be of the same size over the different platforms (eg
byte, word, single) ? Or do unpacked records behave the same over
different platforms?
> Please note that you might also need to take
care of different endianess 
> (big endian vs. little endian) if you
want to transfer such record data 
> (e.g. through files) between
systems with different endianess. In that 
> case you'll need to write
the record field by field and convert the 
> endianess in one of the two
> Regards,
> Sven
> fpc-pascal maillist -
fpc-pascal at lists.freepascal.org [2]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal [3]

Jonas and Sven... Endianess is indeed an issue I will be handling. It's
my understanding now that by storing data in a packed record I will have
the same behaviour (when it comes to aligning data in memory) over all
platforms and architectures. Same applies to packed objects. However
when objects have methods, does that change memory alignment (compared
to different architectures)? Is there any impact when I start using
object inheritance? 

The background behind my questions is the
implementation of an IFF reader/writer in FPC. The reader/writer will be
generated from available data types (simple ones as well as objects and
records). To simplify the code I want to make use of the abstraction
that FPC gives me. 

Regards, Darius 


mailto:dhkblaszyk at zeelandnet.nl:
mailto:fpc-pascal at lists.freepascal.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20121010/d65c654d/attachment.html>

More information about the fpc-pascal mailing list