harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: opinions on structure packing in C?
Date Wed, 05 Oct 2005 13:44:56 GMT
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 (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Mime
View raw message