This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 为什么"int"数据类型大小在不同的体系结构中单独变化

Guru**** 2616395 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/650538/why-does-int-data-type-size-alone-vary-in-different-architecture

大家好、

我知道"int"数据类型的大小在16位架构中为2字节、在32位架构中为4字节。 但是、每个架构的其他数据类型的大小并不不同。是否有人可以帮助我了解为什么 每个架构中的"int"大小都不同?

提前感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    传统。 尽管 sizeof (char)始终为1、"char"也可能会有所不同。 某些处理器具有32位字符!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Prakash Balagangatharan"]但每个体系结构的其他数据类型的大小并不相同。

    这是不正确的。 请访问文章 CGT 初学者提示和技巧。  请查看 C28x 编译器的演示。  查看幻灯片35。  该表显示了不同 TI CPU 的类型大小如何变化。  差异大于 int。   

    为什么…… int 通常与寄存器的大小匹配。  char 通常与可寻址的最小单元匹配。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    选择"int"的大小通常是架构最"自然"的大小、这通常是 CPU 计算效率最高的大小。 这通常是 CPU 寄存器的大小。

    如果您需要可移植的精确宽度类型、请使用 stdint.h 中的类型