[fpc-pascal] Binary compatibility between Intel CPU and PowerPC CPU
Adriaan van Os
fpc at microbizz.nl
Tue Sep 16 18:26:15 CEST 2008
Roland Turcan wrote:
> Hello FPC-Pascal users discussions!
>
> What is the best way to keep the binary compatibility among different
> CPU architectures.
>
> I need to make our own database engine compatible and other binary
> files, that user still can use our data from i386 or PowerPC computer.
>
> I really don't like the idea to change the order of all numeric
> variables on PowerPC, because it costs time of CPU.
>
> There must be easier way how to keep the compatibility.
>
> Could you give me some hints for better solution.
Whether you "like the idea" or not, the best way is as follows:
- add a byte to the header of source data that indicates the endianness, high-endian for PowerPC,
low-endian for i386
- perform byte swapping if the endianness of source data is different from the endianness of the
current CPU
With "source data" I mean
- reading files
- reading data over a network
This is best built-into a streaming toolbox, so that it happens automatically.
Adriaan van Os
More information about the fpc-pascal
mailing list