从技术角度来说,我需要一些帮助来描述为什么64位应用程序在32位机器上的Windows 32位中提示"不是有效的Win32应用程序"?任何MSDN参考都非常欣赏它(我不能谷歌一个可靠的来源).我知道它不应该运行,但我对此没有很好的解释.
以更低级和更详细的方式扩展其他人所说的内容:
编译程序时,将为特定的处理器指令集编写指令.我们所看到的"x = y + z"通常等于将一个值复制到寄存器中,将add命令与另一个值的内存位置一起传递等等.
特定于这一个问题,64位应用程序期望64位地址空间可以使用.在32位系统中将命令传递给处理器时,它会同时处理这32位数据.
这一切的意义?如果没有创造力,32位系统上的内存不能超过4千兆字节(2 32).可以在单个操作中完成一些需要多个操作的任务(比如,处理数字> 40亿无符号的简单数学).更大,更快,但需要与旧系统断开兼容性.
| 归档时间: |
|
| 查看次数: |
313 次 |
| 最近记录: |