写这篇blog主要解决以下疑问:

文章目录

  • 起因
  • vs配置管理器的位数选择和电脑系统的位数什么关系?
  • vs配置管理器的位数选择有什么区别?
  • vs配置管理器的位数选择不同需要注意些什么?
  • 参考链接
  1. vs配置管理器的位数选择和电脑系统的位数什么关系?
  2. vs配置管理器的位数选择有什么区别?
  3. vs配置管理器的位数选择不同需要注意些什么?

起因

  运行别人的一段vs程序,必须使用x64才可以,在此之前从来没有留意过。

vs配置管理器的位数选择和电脑系统的位数什么关系?

  首先,关于电脑位数的解释可以参见我的另一篇blog,点击这里链接。

  总之就是CPU硬件和操作系统的位数:操作系统分32位和64位两种,电脑cpu也有32位和64位之分,通常64位cpu同时支持32位和64位两种系统的安装,32位cpu只能装32位系统,不支持安装64位系统。

  vs配置管理器的位数暂时先不管,我们先明白电脑应用程序和电脑系统位数的区别。


  一个普通的应用程序,应用程序编写的时候位数是多少位就是多少位,并不知道最终这个应用程序将被应用于什么样的平台。

  目前我们安装的软件大部分不区分电脑系统是32bit还是64bit,为什么?
  因为目前绝大部分的软件都是32bit的,几乎所有的电脑操作系统都是32bit或者64bit的。32bit系统支持32bit应用程序是肯定的,64bit的系统也兼容32bit软件,不是说 64 位系统支持 32 位,是因为微软为了兼容实际上把系统文件、系统级程序、注册表都做了 32 和 64 位的两套,并使用一种机制让程序能自动调用对应那一套接口。纯 64 位当然不兼容 32 位了。32 位在 64 位上运行实质上和在 32 位上运行没什么分别,但 64 位软件在 64 位系统运行才能发挥其性能。可以看看64bit操作系统电脑的软件安装盘有Program Files和Program Files (x86),x86的就是32bit软件的安装位置,默认的Program Files是64bit软件安装位置。在32bit系统上只有Program Files。

64bit的软件目前比较少,但是机械设计和分析、三维动画、视频编辑等软件需要有大量内存和浮点数,所以用64bit操作系统和64bit软件会更好,这就是现在adobe系列的软件新的版本都变成了64bit的原因。64bit的软件在32bit的操作系统中是不能用的,只是向上兼容,不能向下兼容。


好了,搞清楚了这个问题下面就可以理解vs的Win32和x64。因为vs是一个软件开发平台,可以选择不同的编译条件形成不同位的软件。从这里也就能知道,只有x64的操作系统上的vs才能在配置管理器中有x64,此外,64bit操作系统还需要vs有装64位程序的编译器。

vs配置管理器的位数选择有什么区别?

vs2015中,右键项目->属性
就会在目标平台下拉框那看到有3个选项,分别是Any CPU(所有平台)、x64、x86。

Any CPU:生成的程序是兼容的。也就是说程序可以同时在32位或者64位系统中运行,推荐使用这个选项。

x64:生成的程序只能在64位系统中运行。如果你的用户用的是32位的系统(比如XP),则运行不了程序。

x32:生成32位程序,由于64位系统也能运行32位的程序,所以这个选项跟Any CPU一样可以同时运行在两种系统中,但效率没有Any CPU高,因为64位的软件跟CPU交互的数据要比32位的接近大一倍。

  所以当你要把项目代码转移到另一台计数机时,就要考虑这个问题。假如你原来选择的目标平台是x64,新电脑的系统是32位,当你按F5调试运行时,则跑不起来,这时把目标平台改成Any CPU或者x32就能解决了。

vs配置管理器的位数选择不同需要注意些什么?

注意:如果你的项目引用有32位的dll(c++编译生成的),则只能选择32位平台,否则也会报错,整个项目要保持一致。

在项目调试的过程中,我们可以看到32位与64位程序加载的dll不同。32位程序从system32中加载dll;而64位程序从syswow64中加载dll。


参考链接

本篇blog主要是参考以下网页链接,感谢各位作者的工作。

https://blog.csdn.net/qq_28351609/article/details/84501326

https://bbs.csdn.net/topics/390776490?list=lz

visual studio 配置管理器 32位 64位相关推荐

  1. Visual Studio 32位64位的问题和如何编译32位64位工程的问题

    Visual Studio自身没有32位和64位的分别,对于某一个特定的版本只有一个版本安装文件(即不存在32位版本的VS2015安装文件和64位版本的VS2015安装文件) 对于自己开发的工程,编译 ...

  2. 让使用SQLite的.NET应用自适应32位/64位系统

    Windows 7 64 bit(刚扩到4G内存,果断换64位的,那速度杠杠的) Microsoft Visual Studio 2010 Ultimate 32bit(在64位系统里运行正常) sq ...

  3. 【C#】C#中使用GDAL3(一):Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET 4+32位/64位)

    转载请注明原文地址:https://www.cnblogs.com/litou/p/15004877.html 总目录 (一)Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET ...

  4. oracle odp版本,oracle odp.net 32位/64位版本的问题

    如果你的机器上安装了odp.net,且确信machine.config也有类似以下结节:(64位+.net 4.0环境下,machine.config可能会有4份,分别对应于.net2.0/4.0的3 ...

  5. 渲染终极者 finalRender R3.5 SE for 3ds max/design 2009/2010/2011 32位/64位 汉

    中文名: 终级渲染器 渲染终极者 finalRender R3.5 SE for 3ds max/design 2009/2010/2011 32位/64位 顶渲简体中文版 资源格式: 压缩包 版本: ...

  6. VS系列编译器内部调用malab(32位/64位)函数指南

    最近项目用到绘制3D图形,使用了许多开源库没有得到理想的效果,后来想到可以使用matlab软件绘制图形通过MFC项目工程进行调用.   有了这个想法后,便在网上搜索相关的资料,实际调用matlab生成 ...

  7. php dll是下32还是64位,windows下关于boost 64位和32位库的编译详细介绍

    常用编译命令: cd E:\OpenSource\boost_1_63_0\boost_1_63_0 编译32位库: x86环境下编译得先从开始菜单启动Visual Studio的Visual Stu ...

  8. c# 未能加载文件或程序集mysql.data,SQLite的C#,.NET应用自适应32位/64位系统(未能加载文件或程序集“System.Data.SQLite.dll)...

    SQLite异常报错 其他信息: 未能加载文件或程序集"System.Data.SQLite, Version=1.0.103.0, Culture=neutral, PublicKeyTo ...

  9. jdk32位连不上oracle64位,64位 jdk 读取32位dll

    执行上面的测试代码,发现使用 32 位的 JDK 通过配置的 testodbc 数据源 (32 位的驱动程序)能够正常的连接到 64 位的数据库,如下图所示. 这个场景并不完全真实,只是我个人的一个联 ...

最新文章

  1. ajax invoke error,配置全局的异常捕获时,走ajax请求下面报错
  2. 2017杭州·云栖大会第二天:阿里云发布了这些“黑科技”
  3. NSUserDefault 的使用
  4. stm32之PVD可编程电压监测器(掉电保存数据)
  5. java 减少内存_java中减少内存占用小技巧
  6. c++随机打乱数组_NumPy数组基本介绍
  7. linux 测试vim编译器_软件测试工程师必须要掌握的linux命令
  8. eap和psk_针对WildFly和EAP运行Java Mission Control和Flight Recorder
  9. oracle 监听拒绝连接,报mybatis映射文件错误Listener refused the connection with the following error: ORA-12519, TNS
  10. 4.设计模式---单例模式(上)
  11. Java项目集成海康威视门禁,NVR
  12. DOS简介及基本操作
  13. 芭蕉河梯级水电站群监控系统
  14. 对比excel与python 的分列处理方式
  15. matlab处理afm图片,基于MATLAB的增大页岩AFM灰度图分辨率的方法与流程
  16. 仿iphone顶部状态栏_无需第三方APP,苹果iPhone手机屏幕录制的方法
  17. 《支付系统-3交易系统》
  18. 【ct107d】开发版说明书
  19. Python中的对象实例化过程 用python解密__new__
  20. matlab进行傅里叶分析

热门文章

  1. python画建筑物_函数绘制带有门窗的建筑
  2. 大学计算机实验六文件管理与磁盘恢复,虚拟实验:文件管理与磁盘恢复.pdf
  3. 响应式织梦模板行业资讯网类网站
  4. 含含乐-口含烟真的能戒烟替烟?
  5. 敏捷.敏捷项目管理V2.Jim Highsmith
  6. 为什么华为、阿里、字节跳动、微软等都走上了云原生和数字化之路?
  7. html页面点击小图弹出大图代码,利用JS实现点击小图弹出大图代码
  8. 小程序轮播图_厉害!对准不认识的野生菌拍个图,云大学生设计的这个小程序就能自动识别…...
  9. ios html5 拍照旋转,H5 解决ios拍照旋转90度
  10. echarts扇形图