While looking at init_structDNA() in
source/blender/makesdna/intern/dna_genfile.c (line 316 in v2.63a), I
noticed these fragments of code:
int *data, *verg, gravity_fix= -1;
char str[8], *cp;
verg= (int *)str;
data= (int *)sdna->data;
strcpy(str, "SDNA");
We assume "int" to be 32 bits on both 32bit and 64bit platforms. This
is the case for windows and unix systems:
http://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models
There are some platforms that do not follow this convention, but
they're pretty esoteric. There's probably lots of code i