int int32

场景:为何要定义 int32

为什么要定义 int32
既然已经有long 和int 类型, 为什么又再定义int32去用? 有些地方为什么要用int32, 用long或int 代替不行吗?

------解决方案--------------------
long和int是多少字节的?
------解决方案--------------------
int的大小是不固定的,而int32可以确保随着编译器变化,这个类型大小不变化
------解决方案--------------------
恩,2楼基本上都说了

------解决方案--------------------
随着编译器和操作系统得演化,int/long得尺寸是会变化得,例如对于32位系统,int和long都是32bit得,但是在64位系统中,int可能就是8字节得

typedef隐藏了int32其实就是long的事实,实际上long的尺寸当然是变化的,但是当long尺寸不在是32bit的时候,只要重新定义一下int32,你的所有使用int32的代码就都不用改写了。
假定你10年后用128bit的机器,sizeof(long)=32, sizeof(int)=16,sizeof(short)=8,sizeof(tiny)=4//假定有个新的tiny类型,只要你的头文件中
typedef long int32;改为
typedef tiny int32;
你所有的老代码都不再需要修改

探讨
谢谢 arong1234, 为什么说int大小是不固定的呢? int32是这样定义的, typedef long int32. 那么long的大小是固定的吗?

------解决方案--------------------
探讨
谢谢 arong1234, 为什么说int大小是不固定的呢? int32是这样定义的, typedef long int32. 那么long的大小是固定的吗?

------解决方案--------------------
探讨
谢谢 arong1234, 为什么说int大小是不固定的呢? int32是这样定义的, typedef long int32. 那么long的大小是固定的吗?

------解决方案--------------------
探讨
随着编译器和操作系统得演化,int/long得尺寸是会变化得,例如对于32位系统,int和long都是32bit得,但是在64位系统中,int可能就是8字节得

typedef隐藏了int32其实就是long的事实,实际上long的尺寸当然是变化的,但是当long尺寸不在是32bit的时候,只要重新定义一下int32,你的所有使用int32的代码就都不用改写了。
假定你10年后用128bit的机器,sizeof(long)=32, sizeof(int)=16,sizeof(short)=8,sizeof(tiny)=4//假定有个…

------解决方案--------------------
移植.
------解决方案--------------------
顶了

------解决方案--------------------
mark
------解决方案--------------------
LS都说完了。
------解决方案--------------------
结论已经很明了了.
------解决方案--------------------
MARK
------解决方案--------------------
int32 32就是让它一定是32~
------解决方案--------------------
嗯嗯,该结贴了,^_^
------解决方案--------------------
mark
------解决方案--------------------
1 移植方便
2 更加直观
------解决方案--------------------
int, long的大小根据机器字长的不同而变化,再定义后大小就被固定了,各编译器间将没有差异。
------解决方案--------------------
明确标明32位,int等是不固定了。
------解决方案--------------------
只有32位机的int是32位的。
------解决方案--------------------
学习
------解决方案--------------------
探讨
long和int是多少字节的?

------解决方案--------------------
大牛大牛,每天进步啊
------解决方案--------------------
好像是备用的,
------解决方案--------------------
代码重构,降低修改成本。
------解决方案--------------------
mark学习一下
------解决方案--------------------
探讨
只有32位机的int是32位的。

------解决方案--------------------
都被楼上的说完了好像

------解决方案--------------------
明了了
------解决方案--------------------
32位机,64位机
便于移植