C/C++ Visual Studio x86/x64/Any CPU编译区别

最后更新于:2020-08-08 20:43:14

一.x86/x64/Any CPU区别

Visual Studio使用x86平台编译出来的exe(可执行文件)或dll(动态链接库)都是32位的;

Visual Studio使用x64平台编译出来的exe(可执行文件)或dll(动态链接库)都是64位的;

Visual Studio使用Any CPU编译出来的exe(可执行文件)或dll(动态链接库)则是取决于当前的操作系统,若操作系统是32位的,则编译出来的程序就是32位的,反之编译出来的就是64位程序;

二.x86/x64/Any CPU注意

若你的启动项目,即主程序(编译出来是exe文件的)是x86平台下编译的,而它所依赖的一个项目(或动态链接库)是由x64位平台编译出来的,则会提示“未能加载文件或程序集…或它的某一个依赖性。试图加载格式不正确的程序。”之类的错误。

这是因为32位程序不能加载64位的dll,更不能调用其中的类、方法和对象等。反之,若主程序是由x64平台编译出来的,而dllx86的呢?答案。。也是不行的!

三.x86/x64/Any CPU总结

一般来说,在不清楚客户的电脑是什么类型的操作系统的情况下,或者两者都有的时候,则主程序采用x86平台编译,dll采用Any CPU平台编译。若清楚的知道是64操作系统,那么就可以都按x64平台编译了。


猜你喜欢

1. 三目运算符

2. 逗号表达式

3. NaN(Not a Number)

4. memcpy/strcpy/strcpy_s区别

5. unicode和多字节区别

6. 判断windows操作系统是x86/x64

7. _WIN32/WIN32/_WIN64/WIN64区别




转载请注明: 猿说编程 » C/C++教程 » Visual Studio x86/x64/Any CPU编译区别



技术交流、商务合作请直接联系博主
扫码或搜索:猿说编程

python/C++教程

猿说编程
微信公众号 扫一扫关注

赞赏

微信赞赏支付宝赞赏