Op Thu, 28 Feb 2008, schreef Michael Schnell:


C-style bitpacking ("char c:1" and "int c:1" are often laid out differently in C depending on the previous fields,
Not only this. C defines the layout as implementation depended. I once was bitten by this when porting a networked project from a low endian processor to a high endian processor :( .

Thus if we want binary portability of the structures we need to be better than C (optionally defining the structure as high-endian or low endian on user request) !!!!

Why?

The only thing I want to guarantee is that blockwrite followed by blockread on a platform with the same endianness works and will work in the future.

This (combined with ifdef based endian conversion) guarantees portability of structures to any platform.

Or do I see this wrong?

Daniël
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to