vs中目标平台x86,x64,any cpu的区别
vs中目标平台x86,x64,any cpu的区别更多
学习标签:
Visual Studio
本文导读:在Visual Studio编译项目时,在目标平台有x86,x64,any cpu三个选项,不同的选项决定exe文件或者dll文件在什么模式下运行,具体选择哪个,要考虑到具体情境的,所以Any CPU的平台并不是都适用,这也是x86和x64平台存在的意义。下面介绍目标平台中x86,x64,any cpu三个选项的区别.
visual studio和vs code的区别一、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中虚拟目录、应用程序的区别
您可能感兴趣
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论