一直不明白visual studio不同的活动解决方案平台是干嘛用的,直到这次需要将开发好的软件部署在一个64位的win7系统上,才算懂了Any CPU,x86以及x64的区别了。我们都知道操作系统是分为32位和64位的,以前的话大部分是32位的,但是按照现在的科技发展趋势,不久64位的系统将成为主流。软件也分为32位的和64位的,64位的软件无法运行在32位的操作系统上,但是32位 的软件却可以以兼容的方式运行在64位系统上,只不过这样一来64位系统运行软件的性能优势就没了。
visual studio的活动解决方案平台的区别和作用如下:
Any CPU平台下:生成的程序是兼容的,也就是说编译生成的软件在32位操作系统下会以32位的软件模式运行,而在64位操作系统下则会以64位的软件模式运行。
x86平台下:强制生成的软件为32位软件,不管操作系统是32位还是64位都是以32位模式运行。
x64平台下:通x86类似,强制生成为64位软件,不论操作系统是32位还是64位都以64位模式运行,当然在32位操作系统中应该是无法正常运行的。
关于以不同的模式运行,在有些情境中并不是只要软件能运行就行,还要考虑到与该软件交互的一些模块的运行模式。比如如果.NET程序以64位模式运行,但是该机器上的Oracle客户端是32位的话,连接数据库就会有异常。所以以什么模式运行还是要考虑到具体情境的,所以Any CPU的平台并不是都适用,这也是x86和x64平台存在的意义。