首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >整数大小(以C为单位)

整数大小(以C为单位)
EN

Stack Overflow用户
提问于 2011-08-24 18:10:24
回答 6查看 32.2K关注 0票数 4

可能重复:

Does the size of an int depend on the compiler and/or processor?

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-08-24 18:13:05

依赖于编译器选项

当然,它也取决于编译器本身。

但是编译器是为特定的操作系统创建的,所以它依赖于操作系统。

和/或

编译器是为特定处理器创建的,因此它取决于处理器。

票数 4
EN

Stack Overflow用户

发布于 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字节(虽然可能)是没有意义的。

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

票数 8
EN

Stack Overflow用户

发布于 2011-08-24 18:12:18

int、long等的大小取决于编译器,但编译器实现者将为特定处理器和/或OS选择最佳大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7180196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档