Geir Magnusson Jr. wrote: > I'm working with Dan's bootVM to get to run on Windows, and have been > thinking about the use of -fpack-struct vs #pragm pack() vs just not > packing and writing code that is a little slower, and a little more
I'd dispute that packing always produces faster code, but... > verbose, but seemingly more robust and maintainable due to less > information about context needed to avoid surprises. > > I've reconfirmed that packing structs is deadly when you want to call > into standard libs > > struct stat foo; > > stat("foo.txt", &foo); > > does some bizarre things :) > > So how do people deal with this these days? I know fashions change, > and I haven't done C in anger for > 6 years... (I still have the > shakes when looking at it - I'm past the screaming stage...) Just use the compiler's default (ANSI) layout behavior, and then explicitly pack a struct using pragmas only where required -- usually for layout compatibility with an external binary. As you illustrate above, packing somebody else's struct definition can bring you into conflict with their binary's view of the world. Tim > geir > -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK.