可能重复:
Does the size of an int depend on the compiler and/or processor?
Integer的大小取决于编译器、操作系统还是处理器?如果我在32位操作系统或64位操作系统上都使用gcc,或者在32位机器或64位机器上运行(在这种情况下只运行64位OS ),该怎么办?
发布于 2011-08-24 18:13:05
依赖于编译器选项。
当然,它也取决于编译器本身。
但是编译器是为特定的操作系统创建的,所以它依赖于操作系统。
和/或
编译器是为特定处理器创建的,因此它取决于处理器。
发布于 2011-08-24 18:22:07
这取决于编译器、处理器和操作系统的结合。
例如,在64位Intel CPU上,在64位模式下,long int在Windows中的大小是4字节,而在Linux和Mac上则是8字节。int在英特尔的三个OSes中都是4个字节。
编译器实现者也有选择,但通常使用操作系统所使用的。但这很可能是一个编译器供应商,它为所有三个平台都配备了C编译器,决定在这三个平台上使用相同的大小。
当然,在16位CPU上使int 4字节(虽然可能)是没有意义的。
所以这取决于你提到的三件事。
发布于 2011-08-24 18:12:18
int、long等的大小取决于编译器,但编译器实现者将为特定处理器和/或OS选择最佳大小。
https://stackoverflow.com/questions/7180196
复制相似问题