当前位置: 代码迷 >> .NET组件控件 >> 32位exe跟64位exe的区别
  详细解决方案

32位exe跟64位exe的区别

热度:193   发布时间:2016-05-04 23:29:39.0
32位exe和64位exe的区别
操作系统分32和64是因为支持的处理器位数不同,64的有更大的寻址空间,但为什么exe也有32和64之分?比如richcopy.exe和richcopy64.exe,这有何不同呢?64的更快吗?
32位 64位 exe

------解决方案--------------------
引用:
32位与64中,一些数据类型大小不一样,可以访问CPU储存器大写也不一样,当然还有些指令。


是的,对于不同的CPU(寄存器和数据总线也不一样),同一个程序功能,所需要的汇编代码(机器指令)也不一样
64位的windows中有个Wow64模拟器,所以大多数32位程序可以在64位机器上跑,但是性能略弱(毕竟是模拟环境)
但反过来就不行了,因为64位程序运行时所执行的机器指令和用到的寄存器(宽度),32位机无法兼容
64位机支持更大的内存寻址空间和数据宽度,同一个程序的32位版和64版,在相应的机器上运行的性能没什么差别
------解决方案--------------------
64bit和32bit程序相比,大部分情况下性能差不多,甚至在低端处理器上性能不升反降,这是因为64bit更加消耗缓存。64bit只有在科学运算的场合才能发挥优势。当一个程序大量使用long、double等64bit长度的类型,并且执行计算的时候,64bit可以将它们视作本地操作数直接处理,而32bit程序则会被编译器编译成好几条指令分别处理它的高位和低位。
  相关解决方案