Carl Mummert <[EMAIL PROTECTED]> writes: > >#pragma pack(1) > >struct {}; > >#pragma pack() > > > >Which forces the layout to be as you specified. > > > >Using a command line option is a Bad Idea (tm) as it may corrupt glibc's > >structures > > To test a resonse to the original message, I made the follwing c file > ( I was not familiar with the attribute flag, so I guessed wrong): > --begin > > __attribute__ ((packed)) struct foo struct foo __attribute__ ((packed)) ??? > { > char c[3]; > int x; > }; > > int main() > { > printf("%d \n", sizeof(struct foo)); > } > --end ... > Which made me think... and check... and sure enough > the ORIGINAL STRUCT actually has a size of 7 with the command line option! > THe guy is either crazy, or he is using some strange compiler that > we don't know about (althoguh he did say the size was 6, as if he > had a 286...)
Maybe he meant struct foo { char c[3]; short s; // char __PAD; } or struct ofoo { char c[3]; // char __PAD; short } as any normal compiler would generate. MfG, Goswin