ihw@hou5e.UUCP (I Walkenfeld) (11/16/84)
[...] Can anyone out there help me with the following situation? Mission Impossible: Machine A is 68000-based, running on a non-standard OS (i.e., not publicly available). Machine B is either an IBM-PC or an AT&T 6300. Program X is compiled in C to run on both A and B. Obviously, different compilers are being used. A data area created by X will be copied byte-by-byte from A to B. Because of the differences in the way compilers arrange data variables, it is unlikey that X on B will be able to use the data area correctly without some sort of conversion, even though X uses identical structures on A and B. Concerns: Some of the conversion problems I foresee are- - length compatibality for data types (char and short, sighned and unsigned are used almost exclusively) - alignment and consequent padding (for individual items and structures, especially unions) - byte ordering - embedded pointers (pointing to within the data area) The conversion program will run on B when it receives the data area from A. This program can have access to both A's and B's symbol tables as well as the source structure definitions. Help requested: Is this possible???? Does such, or similar, program exist - even if for different machines? Are there C compilers for IBM-PC that give me control of alignment? Have I missed worrying about some conversion detail? Any help at all to guide me in my folly. Don't ask me why I want to do this. (I won't do it if I can't.) Thanks for any responses. Send mail please. Irwin Walkenfeld AT&T Information Systems Holmdel, NJ 07733 ....!hou5e!ihw
jose rodriguez <jrodrig@mitre-gateway.ARPA> (11/18/84)
We got solutions to longword and word ordering problems (they occur often when using 68k's in multibus chassis) but if you are concerned also with char, int size and pointers to the data I would suggest you look into Xerox's Courier or (probably easier for you) Sun Microsystem's new External Data Representation (XDR) standard. Jose arpa: jrodrig@mitre-gateway Mitre Information Systems