x86_64 sizeof(char) == 1
x86_64 sizeof(int) == 4
x86_64 sizeof(short) == 2
x86_64 sizeof(long) == 4
x86_64 sizeof(long long) == 8
x86_64 sizeof(unsigned char) == 1
x86_64 sizeof(unsigned) == 4
x86_64 sizeof(unsigned short) == 2
x86_64 sizeof(unsigned long) == 32
x86_64 sizeof(unsigned long long) == 8
x86_64 sizeof(float) == 4
x86_64 sizeof(double) == 8
x86_64 sizeof(_Bool) == 1
x86_64 sizeof(id) == 8
x86_64 sizeof(Class) == 8
x86_64 sizeof(SEL) == 8
x86_64 sizeof(void*) == 8
x86_64 sizeof(void (*)()) == 8
x86_64 char parameters are passed as integers
x86_64 floats are passed in SSE registers