C中整数的大小

0x0*_*7FC 4 c int gcc

可能重复:
int的大小是否取决于编译器和/或处理器?

Integer的大小是依赖于编译器还是依赖于OS或处理器?如果我在32位机器或64位机器上运行的32位操作系统或64位操作系统上使用gcc怎么办(在这种情况下只有64位操作系统).

Rud*_*uis 7

它取决于编译器,处理器和操作系统的组合.

例如,在64位Intel CPU上,在64位模式下,long intWindows中的a大小为4字节,而在Linux和Mac上则为8字节.int在英特尔的所有三个操作系统中都是4个字节.

编译器实现者也有一个选择,但通常使用操作系统使用的内容.但很可能一个拥有所有三个平台的C编译器的编译器供应商决定在这三个平台中使用相同的大小.

当然,int在16位CPU上制作4个字节(尽管可能)是没有意义的.

所以这取决于你提到的所有三件事.


pmg*_*pmg 4

取决于编译器选项
当然这也取决于编译器本身。
但是编译器是为特定操作系统制作的,所以它取决于操作系统
和/或
编译器是为特定处理器制作的,所以它取决于处理器