are statically allocated structs always aligned to a machine word on x86/x86_64?

john smith
Fri Aug 21 15:54:00 GMT 2015

I didn't find any information about alignment requirements for
statically allocated objects in glibc manual (or I have missed because
the manual is huge). I noted that sometimes variables such as int are
not aligned on word boundary in x86 and x86_64 but I have never seen a
struct that wouldn't be allocated at address that isn't a multiple or
4/8. I am asking this question because I would like to know whether
it's safe to assume that struct will be always assigned at a word
boundary and therefore it's possible to correctly calculate a struct
size without running a program.


More information about the Libc-help mailing list