Greg Stark <[EMAIL PROTECTED]> writes: > Well that sort of stuff is supposed to be covered by the ABI. Consider that if > it didn't then you wouldn't be able to use any of the standard libraries > without recompiling them for each compiler since a number of standard library > APIs depend on structs like timeval or stat.
Maybe. My experience with these sorts of problems is fairly old (hard lessons from libjpeg development in the mid-90s), but what I learned at the time is that all the standard Unix library interfaces are carefully designed to be fairly impervious to struct padding rules (eg, all the fields are "int", or at least all the same size), and so you can get apparent interoperability between compilers that don't agree on these rules. Meanwhile, Microsoft, who never met a feature they didn't like, invented a foot-gun called #pragma pack, and then had to fix all their headers to nail down the pack setting. That in turn masks compatibility issues on that platform, but only if you're willing to #pragma-ify all of your own headers too. In short, I don't trust anybody on this issue. I have the scars to remind me why not. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings