在 80 年代从 16 位过渡到 32 位期间,int
是 16 位或 32 位。使用当前的 64 位转换命名法,我知道 ILP32 和 LP32 机器的分布相当均匀。当时我相信人们理解,int
对于任何给定的架构,它始终遵循寄存器或指针宽度,并且long
将保持 32 位。
快进 25 年,我看到 LP64 相当主流,但直到我遇到 64 位平台 [我在 2007 年发现桌面 Linux :)],我一直期望 IP64 是下一个合乎逻辑的步骤。
- 这(LP64)是 64 位的预期演变吗?
- 这种关系如何
char <= short <= int <= long
适应这种将整数类型固定到我们留下的每个平台的新兴方案? - 这些过渡方案与在各种平台上使用(您选择的
{l,u}case
)WORD
/有何关系?DWORD
- Windows 的某些区域仍然包含
INT
16 位的表单。Windows 会脱离 LLP64 还是为时已晚? - 为什么这次
int
选择被抛在后面,而不是在 32 位过渡期间?
- 这种关系如何