为什么 C++ 中的 int 值不能有 8 字节大小? 我知道在 Linux 和 Mac 中 long 是 8 个字节。 是否有编译器将 int 的大小设置为 8?
我尝试搜索 int 大小为 8 字节的 GCC 编译器,但找不到与之相关的任何内容。
最佳答案
没有什么可以阻止编译器使用 8 字节 int
除了它可能会破坏大量现有代码这一事实之外。
在过去 20 年左右的时间里,人们假设 int
长度为 4 个字节(至少在 x86 和 amd64 CPU 上)。更改 int
的大小时在 C++ 标准下是完全合法的,它也会破坏大量依赖 int
大小的旧代码。对于诸如摆弄之类的事情。破坏人们的代码并不是说服他们应该继续使用你的编译器的好方法,因此编译器制造商倾向于使编译器的行为像人们期望的那样,即使这种行为不是由语言标准强制执行的。
关于c++ - 为什么在 64 位机器上的 C++ 中 int 的大小不是 8 个字节。还有 gcc 的任何版本都支持 8 字节 int 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51717359/