On 10 okt '12, Sven Barth wrote:
> Am 10.10.2012 12:02, schrieb dhkblas...@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 cases... > > Regards, > Sven > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org [2] > http://lists.freepascal.org/mailman/listinfo/fpc-pascal [3] Thanks 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 Links: ------ [1] mailto:dhkblas...@zeelandnet.nl: [2] mailto:fpc-pascal@lists.freepascal.org [3] http://lists.freepascal.org/mailman/listinfo/fpc-pascal
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal