码迷,mamicode.com
首页 > 其他好文 > 详细

x86,x64,Any CPU区别

时间:2018-10-24 20:05:07      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:未能   链接库   答案   32位   电脑   exe   错误   文件   动态链接   

https://blog.csdn.net/zuguangboy/article/details/51509670

 

 

1,即主程序(编译出来是exe文件的)是x86平台下编译的,而它所依赖的一个项目(或动态链接库)是由x64位平台编译出来的,则会提示“未能加载文件或程序集…或它的某一个依赖性。试图加载格式不正确的程序。”之类的错误。这是因为32位程序不能加载64位的dll,更不能调用其中的类、方法和对象等。反之,若主程序是由x64平台编译出来的,而dll是x86的呢?答案。。也是不行的!

2,虽说Any CPU编译出来的"程序"取决于操作系统,但是由Any CPU编译出来"dll"则取决于调用它的主程序,即若主程序是32位的,那么dll也是32位的,若主程序是64位的,那么dll就是64位的。所以dll一般采用Any CPU平台编译,而主程序一般采用x86平台编译。 

总结:了解了它们的区别之后,我们打包程序的时候就知道如何取舍了。一般来说,在不清楚客户的电脑是什么类型的操作系统的情况下,或者两者都有的时候,则主程序采用x86平台编译,dll采用Any CPU平台编译。若清楚的知道是64位操作系统,那么就可以都按x64平台编译了。 

x86,x64,Any CPU区别

标签:未能   链接库   答案   32位   电脑   exe   错误   文件   动态链接   

原文地址:https://www.cnblogs.com/sunzhenyong/p/9844967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!