免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: scalps
打印 上一主题 下一主题

请教:怎么在Linux下查看CPU是32位还是64位的? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2006-02-14 16:14 |只看该作者
ansi c 中只规定int的最小长度为16位, 既32k, 并没有规定具体的长度位,而是操作系统自己指定的,所以pirntf(sizeof(int))的方法严格意义上不正确,但是32位上的系统好像都是4个字节

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
22 [报告]
发表于 2009-10-21 12:31 |只看该作者
好像出了uname -a里面信息由
/proc/procinfo里面还真找不到!

论坛徽章:
0
23 [报告]
发表于 2009-10-21 12:58 |只看该作者

回复 #1 scalps 的帖子

cat /proc/cpuinfo 如果flags里有lm(long mode)的话说明是支持64bit的。

论坛徽章:
0
24 [报告]
发表于 2009-10-21 16:03 |只看该作者

回复 #23 eexplorer 的帖子

不一定
我的有LM,也装不了64位的系统

论坛徽章:
0
25 [报告]
发表于 2009-11-21 12:13 |只看该作者

回复 #9 bleem1998 的帖子

你更蠢,应该是printf(sizeof(long)),long的长度才跟体系架构有关系

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
26 [报告]
发表于 2009-11-21 13:57 |只看该作者
好像出了uname -a里面信息由
/proc/procinfo里面还真找不到!


uname -a是不是装的发行版内核的版本信息
里面也不一定准确吧
还是用CPUID吧
话说回来,印象中内核好像封装了CPUID来提供一个接口
不知道Linux上的对应API是啥,直接调用API来查询应该差不多了

论坛徽章:
0
27 [报告]
发表于 2010-06-24 17:10 |只看该作者
:em12:

论坛徽章:
0
28 [报告]
发表于 2010-06-24 17:19 |只看该作者
本帖最后由 kgn28 于 2010-06-24 17:25 编辑

回复 27# ileson

从用户空间代码布局来看也可以吧
    cat /proc/self/maps:

一目了然,32位地址长度是8,64位有16长度的地址。
这个不知道行不行?
我错了,这样只能说明系统是64位的,而不是cpu,如果在64位cpu上面运行32位系统,就。。。

论坛徽章:
0
29 [报告]
发表于 2010-06-25 10:48 |只看该作者
直接敲arch不行么?

root@zyr-desktop:/# arch
x86_64
root@zyr-desktop:/#

论坛徽章:
0
30 [报告]
发表于 2010-06-25 12:48 |只看该作者
这样行不?

file /bin/ls
/bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP