vs项目属性中目标平台x86,x64,any cpu的区别
2016-05-30 23:13
701 查看
一、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位的主程序调用
文章转载自:vs项目属性中目标平台x86,x64,any cpu的区别 http://www.studyofnet.com/news/1263.html
编译出来的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位的主程序调用
文章转载自:vs项目属性中目标平台x86,x64,any cpu的区别 http://www.studyofnet.com/news/1263.html
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 星外ASP.Net的安全设置相关说明
- C#、ASP.NET通用扩展工具类之TypeParse
- 实现ASP.NET无刷新下载并提示下载完成的开发思路
- C#、ASP.NET通用扩展工具类之LogicSugar
- C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
- 程序中常用的种代码
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- 在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程
- ASP.NET页面间的传值的几种方法
- 在ASP.NET 2.0中操作数据之二十四:分页和排序报表数据
- 入侵ASP.net网站的经验附利用代码
- 盘点PHP和ASP.NET的10大对比!
- 在ASP.NET 2.0中操作数据之四十八:对SqlDataSource控件使用开放式并发
- ASP.NET MVC4入门教程(四):添加一个模型
- 在ASP.NET 2.0中操作数据之二十三:基于用户对修改数据进行限制
- 在ASP.NET 2.0中操作数据之七十三:用Managed Code创建存储过程和用户自定义函数(上部分)
- ASP.NET MVC4入门教程(五):从控制器访问数据模型
- 在ASP.NET 2.0中操作数据之六十七:在TableAdapters中使用JOINs
- ASP.NET中 CheckBox复选框控件的使用