关于32位,64位机器数据模型的记录。
LP64 ILP64 LLP64 ILP32 LP32为几种不同的数据模式,
除了LLP64代表long long 和 pointer外,其余的数据模式中的 I P L 分别代表int pointer long。
数据模型中char、short、long long所占字节数相同,int、pointer、long所占字节数符合以下规律:
带有标记的数据类型所占的位数和机器位数一致,否则所占位数为机器位数除以2(这么表述不太准确,否则所占位数向下兼容??)。
如LP64,代表long、pointer占64位,int占32位。ILP64代表int、long、pointer均占64位。
Datetype LP64 ILP64 LLP64 ILP32 LP32
char 8 8 8 8 8
short 16 16 16 16 16
long long 64 64 64 64 64
int 32 64 32 32 16
long 64 64 32 32 32
pointer 64 64 64 32 32