Need help using gcc in command line mode.
Andrew Haley
aph@redhat.com
Mon Dec 21 17:00:00 GMT 2009
Cedric Roux wrote:
> Thomas Martitz wrote:
>> Try appending __attribute__((packed)) after the closing } of the structs
>> in question. That should disable padding.
>>
>> Furthermore I recommend using int32_t instead of long, since long is 8
>> bytes on 64-bit Linux systems (hence your code wouldn't work on those).
Yes.
>
> You can also compile with -fpack-struct
> (see "man gcc")
No, don't. This may break system headers.
> But may I suggest that you read your file byte by byte
> and feed the structures by reconstructing data with those
> bytes (like "x = c1 | (c2 << 8) | (c3 << 16)" or something)?
> It is the most portable solution and if your
> programs don't spend all of their time in reading these
> headers then there is no need to "optimize." (And you
> won't waste a lot of time debugging in that direction...)
All of this is good advice.
Andrew.
More information about the Gcc-help
mailing list