Re[2]: building and analysing C structs with Storable
Bulat Ziganshin <[email protected]> Fri, 19 Oct 2007 23:49:56 +0400
| Newsgroups | gmane.comp.lang.haskell.libraries,gmane.comp.lang.haskell.ffi |
|---|---|
| Message-ID | <[email protected]> |
Hello John, Monday, October 15, 2007, 7:51:13 AM, you wrote: >> >You say "the system's C compiler" as if there was only one. It's quite >> >common for UNIXoid systems to have several C compilers installed >> >simultaneously; and if you use the module corresponding to the wrong >> >compiler, you get silent data loss. I wouldn't risk it. >> > Not in general, the exact layout of C structs and whatnot is set forth > in the ABI spec developed by the chip manufacturer. All compilers must > follow it or they cannot even use the same libraries. that said, some > compilers out there do sometimes deviate from the ABI, or allow it as an > option, but there is generally an accepted ABI for a OS-platform pair. > Otherwise things like 'libc' would not be abled to be linked against. > for instance the ABI for x86-64 is here > http://www.x86-64.org/documentation/abi-0.98.pdf i bet that this document was written exactly because "old systems" (read: i386) had so much confusion :)) i definitely know that it was a great problem in win32 compilers -- Best regards, Bulat mailto:[email protected]