2023年12月11日发(作者:)
vs中目标平台x86,x64,anycpu的区别
vs中目标平台x86,x64,any cpu的区别
2016/5/28 来源:Visual Studio浏览量:1298
更多
学习标签: Visual Studio
本文导读:在本文导读Visual Studio编译项目时,在目标平台有x86,x64,any cpu三个选项,不同的选项
决定exe文件或者dll文件在什么模式下运行,具体选择哪个,要考虑到具体情境的,所以Any
CPU的平台并不是都适用,这也是x86和x64平台存在的意义。下面介绍目标平台中x86,x64,any
cpu三个选项的区别.
一、vs中目标平台选项的界面
二、Any CPU平台下
编译出来的exe(可执行文件)或dll(动态链接库)是兼容的,取决于当前的操作系统,若操作系统
是32位的,则编译出来的程序会以32位的软件模式运行,而在64位操作系统下则会以64位的软
件模式运行。
三、x86平台下
强制生成的软件为32位软件,不管操作系统是32位还是64位都是以32位模式运行。
四、x64平台下
与x86类似,强制生成为64位软件,只能在64位模式运行。
五、x86、x64、Any CPU选择的注意事项
1、若主程序的文件是x86平台下编译的,而它所依赖的一个项目(或动态链接库)是由x64位平
台编译出来的,则会提示“未能加载文件或程序集…或它的某一个依赖性。试图加载格式不正确
的程序。”之类的错误。这是因为32位程序不能加载64位的dll,更不能调用其中的类、方法和对
象等。
2、若主程序是由x64平台编译出来的,而它所依赖的一个项目(或动态链接库)是由x86位平台
编译出来的呢?也会报错!
3、若dll由Any CPU编译的,那么这个dll就可以被32位和64位的主程序调用
4、虽说Any CPU编译出来的程序取决于操作系统,但是由Any CPU编译出来dll则取决于调用
它的主程序,即若主程序是32位的,那么dll也是32位的,若主程序是64位的,那么dll就是64位
的。
收藏
400
很赞
65
上一篇:Visual studio中使用VSCommands插件在大括号尾部显示方法或过程名字
下一篇:iis中虚拟目录、应用程序的区别
您可能感兴趣


发布评论