VS编程,x86,x64,Any CPU在可执行文件(EXE)或dll(动态链接库)的区别:

版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/84974347

Any CPU和x86的可执行文件(EXE)或dll(动态链接库)在32位和64位下的区别:

1、x86平台编译出来的exe(可执行文件)或dll(动态链接库)都是32位的

2、x64平台编译出来的exe(可执行文件)或dll(动态链接库)对应的则是64位的。

3、Any CPU下的exe取决于当前的操作系统,系统是32位的,则编译出来的程序就是32位的,是64位的就是64位程序。 

4、Any CPU编译出来的程序取决于操作系统 

5、Any CPU编译出来dll则取决于调用它的主程序

6、由于系统中可能存在第三方的32位DLL,一旦使用64位执行的EXE,在调用到32位的DLL时,将无法调用 

7、dll一般采用Any CPU平台编译,而主程序一般采用x86平台编译。 

8、DLL的实际运行方式是受调用它的EXE所影响的,因此设为Any CPU就可以了 

9、32位程序不能加载64位的dll,更不能调用其中的类、方法和对象 

10、64位程序不能加载32位的dll,更不能调用其中的类、方法和对象 

在不清楚客户的电脑是什么类型的操作系统的情况下,或者两者都有的时候,

则主程序采用x86平台编译,dll采用Any CPU平台编译

猜你喜欢

转载自blog.csdn.net/qq_43307934/article/details/84974347