32位与64位 CPU、编译器、操作系统、应用程序、arm和X86关系_win32与arm(1)

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

操作系统本身也是一个软件,实际上可以看作一系列的指令流

32位的系统可以看成一系列32位的指令流

64位的系统可以看成一系列64位和32位的指令流

应用程序可以理解为目标文件(在linux上是ELF格式),也就是一堆机器指令

显然,64位的CPU上能跑32位的应用程序,能跑32位的应用程序

32位的CPU能跑32位应用,不能跑64位应用。

总之:64位的系统或者64位的应用程序都要对应64位的指令,而这只能对应64位CPU

硬件是软件的基础。

注:cpu多少位和操作系统、驱动的关系:

操作系统和驱动应该保持位数一致

四、开发工具和位数的关系

VS可以都是32位的,没有64位的但32位的VS可以开发x64和x86的程序。

应用程序和所调用的库的位数要一致,不能混用64位和32位的代码,比如不能在64位的应用程序上调用32位的动态链接库,反之亦然。可以用depends来查看dll的调用,以及(0xc000007错误)

在VS中如何判断编译环境是64位还是32位(用于跨平台应用)

在 Win32 配置下,_WIN32 有定义,_WIN64 没有定义。在 x64 配置下,两者都有定义。即在 VC 下,_WIN32 一定有定义。

因此,WIN32/_WIN32 可以用来判断是否 Windows 系统(对于跨平台程序),而 _WIN64 用来判断编译环境是 x86 还是 x64

致谢

1、32位与64位 CPU、编译器、操作系统、应用程序、arm和X86关系

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值