linux在代码里怎么判断出来是32位系统还是64位系统

qq_36796524 2017-10-23 09:39:24
比如我编了一个32位程序。这个32位程序要判断出来所在的系统是32位还是64位,然后分别干一些事情
...全文
747 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
踏岸寻柳 2017-11-21
  • 打赏
  • 举报
回复
这事儿得编译器决定吧,你还是老老实实的编译出两套程序来的快。
野草和大树 2017-10-27
  • 打赏
  • 举报
回复
兼容性带来了好处,也带来了坏处,好处是CPU很强大,可以同时支持16位指令和32位指令,运行新老程序畅通无阻。但坏处就是CPU也不知道您想生成16位,还是32位机器码,,需要明确告诉编译器一些信息。为此,编译器提供了伪指令bits,用它来向编译器传达:我下面的指令都要编译成xx位的,bits的指令格式是[bits 16]或[bits 32]。
野草和大树 2017-10-27
  • 打赏
  • 举报
回复
首先你的电脑的字必须能处理8字节,也就是64位的硬件寄存器64位,能寻址2*64方。然后向下兼容,你64位操作系统,可以编写,32位应用程序。一个是编译器给一个伪指令。告诉CPU这是32位应用程序。CPU便会用32位处理模式,比如一些32位的一些指令,执行这些代码。
代码誊写工 2017-10-24
  • 打赏
  • 举报
回复
请楼主结贴给分,不然回答你问题的人会越来越少!!!
曹宇飞丶 2017-10-23
  • 打赏
  • 举报
回复
查看系统位数的shell命令: 1.getconf LONG_BIT 2.uname -a 3.arch 4. file filename 把输出做一个判断就行了吧。

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧