c++/C 并没有规定内建数据类型具体size;只规定了一些规则,比如int 长度不必long 长
数据类型 | ILP32 | LLP64 |
---|---|---|
char | 8 | 8 |
int | 32 | 32 |
long | 32 | 64 |
long long | 64 | 64 |
short | 16 | 16 |
pointer | 32 | 64 |
win32 采用数据格式是ILP32,win64采用的数据格式是LLP64。
32/64系统数据长度最大的区别在于 long ,地址长度;
1.在32系统中我们经常用int储存地址,如果在64位环境下运行,地址是64位,int 为32位,用int保存地址会发生截取。
导致地址访问错误;
<