Mail Archives: cygwin/2008/12/29/13:10:35
John Emmas schrieb:
> ----- Original Message ----- From: "Ralph Hempel"
> Sent: 24 December 2008 19:47
> Subject: Re: Cygwin struct alignment
>>
>> John, if I understand you correctly, you are running up against
>> a classic problem in embedded systems programming. Namely that
>> you cannot assume anything about structure packing, byte ordering,
>> or alignment when doing RPC or transmitting data across platforms.
>>
> Yesterday I spent some time looking into this but didn't come to any
> hard & fast conclusions. Variables themselves seem to correlate very well
> between MSVC and Cygwin (even 'long' which I thought was different). But
> when calculating structure alignment (manually) sometimes Cygwin gave
> closer results to what I expected and sometime MSVC was closer.
>
> Before I try Ralph's suggestion I'd like (if possible) to try building both
> versions with struct packing disabled. This is fairly simple to do with
> Microsoft's compiler (I just set the member alignment to '1 byte') but can
> it be done for my Cygwin compiler - e.g. with a compiler option or a
> #pragma
> or whatever?
Which "Cygwin compiler"?
I have about a dozen compilers in my cygwin environment.
If you mean gcc-core-3.4.4-3 or gcc-mingw-core-3.4.4-20050522-1 please
say so.
Cygwin per se infers no struct alignment at all, nor exists one "Cygwin
compiler" only.
For the record:
There's also gcc4-core-4.3.2-1, for the C side, and of course various
other compilers, such as clisp, parrot, chicken, gcc-g++, gcc4-g++,
gcc-gpc, gcc-java, gcc-g77, gcc-ada, jikes, SWI-Prolog, cocom, ocaml,
and from other sites bigloo, ikarus, plt.
And there are various other cross-gcc packages around.
Most with different "struct" or "record" packing and alignments.
I haven't got llvm, ghc, and Modula-3 working yet.
--
Reini Urban
http://phpwiki.org/ http://murbreak.at/
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -