On 12/6/06, Phil Endecott <[EMAIL PROTECTED]> wrote:
Dear All,
I used to think that this:
struct foo {
int a __attribute__((packed));
char b __attribute__((packed));
... more fields, all packed ...
};
was exactly the same as this:
struct foo {
int a;
char b;
... more fields ...
} __attribute__((packed));
but it is not, in a subtle way.
The same code is generated. The difference is that usually packing the
whole struct isn't as error-prone as packing every element. Besides
that the gcc warns about packing objects that have an alignment of 1.
This is the reason why we should use the second approach.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/