Re: sizeof(struct ...)
From: René Scharfe <hidden>
Date: 2016-08-11 20:44:58
Erik Mouw schrieb:
On Thu, Nov 23, 2006 at 04:45:09PM +0100, René Scharfe wrote:quoted
Is there really a compiler that inserts padding between arrays of unsigned chars?Yes, that compiler is called "gcc". #include <stdio.h> struct foo { unsigned char a[3]; unsigned char b[3]; }; int main(void) { printf("%d\n", sizeof(struct foo)); return 0; } On i386 that prints 6, on ARM it prints 8.
Does it add 1 byte after a and and 1 after b or two after b? I suspect it's the latter case -- otherwise Gerrit's patch, which started this thread, wouldn't help solve his problem. Or the pad sizing follows complicated rules that I do not understand at the moment. Time to look for an ARM emulator, it seems. Thanks,