免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 13827 | 回复: 20
打印 上一主题 下一主题

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-26 22:44 |只看该作者 |正序浏览
如题,我的Linux是SUSE 9的。

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

论坛徽章:
0
20 [报告]
发表于 2006-02-14 16:11 |只看该作者
原帖由 bleem1998 于 2005-10-27 11:22 发表
我们好愚蠢阿
printf(sizeof(int))不就可以了么?!!
瓦哈哈哈哈哈和


这个是错的

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
19 [报告]
发表于 2006-02-14 14:12 |只看该作者
原帖由 me09 于 2005-10-27 11:32 发表
偶的是4 应该是"64" 位吧!


32位.

论坛徽章:
0
18 [报告]
发表于 2006-02-14 14:00 |只看该作者
原帖由 惠繪洋 于 2005-10-27 10:41 发表

32 bit的有
Intel
Pentium, Pentium2, Pentium3, Pentium4
Celeron, Celeron2, Celeron3, P4 Celeron, CeleronD

AMD
K5, K6, K6-2, K6-3, K7(Athlon), AthlonXP
Duron, Sempron

64 bit有
Intel
PentiumD
CeleronD 3xx

AMD
Athlon64, Operton
SempronII

64位intel cpu还有: 至强系列和安腾系列:
The 64-bit Intel® Xeon® Processor with 2MB L2 Cache,64-bit Intel Xeon processors offer speeds of 2.80 GHz, 3 GHz, 3.20 GHz, 3.40 GHz, 3.60 HGz, and 3.80 GHz
猜测其意思,64位至强系列的MHZ都在2.8GHZ以上,目前,除了上面提到的几个频率外,其它频率的至强系列应该是32位的了.
早期的至强是32位的.新的至强是64位的,具体情况正在查询中...

[ 本帖最后由 qintel 于 2006-2-14 14:36 编辑 ]

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
17 [报告]
发表于 2005-11-03 08:54 |只看该作者
想的不错.是32位的.楼上的方法已经说的很清楚了 .cat /proc/cpuinfo

论坛徽章:
1
水瓶座
日期:2014-03-20 18:21:14
16 [报告]
发表于 2005-11-01 12:11 |只看该作者
原帖由 京城孤 于 2005-11-1 11:52 发表


第二句说的不对,long和unsigned long永远都跟机器字长一样,也就是alu的宽度。所以sizeof int 不能说明问题,sizeof long却可以。

我说的是long long,不是long
至于long,也不排除某些怪异的编译器它他做别的处理,所以我不敢说他就一定是整数寄存器的长度

论坛徽章:
0
15 [报告]
发表于 2005-11-01 11:52 |只看该作者
原帖由 ecloud 于 2005-11-1 11:15 发表

int永远都是32位的,这是C标准规定的,同样long long永远都是64位的,这也是ANSI标准
至于究竟是什么,还要看编译器是如何实行标准的。光靠C语言的数据类型是无法判断出硬件结构是否是64位的


第二句说的不对,long和unsigned long永远都跟机器字长一样,也就是alu的宽度。所以sizeof int 不能说明问题,sizeof long却可以。

论坛徽章:
1
水瓶座
日期:2014-03-20 18:21:14
14 [报告]
发表于 2005-11-01 11:15 |只看该作者
原帖由 给个理由先 于 2005-10-27 21:16 发表
前几天碰到这个问题了。
原装rhel4 64位情况下,p4emt64,c语言,gcc编译,int 是32bit,long 是64位。


之前在32位机上,int 是32bit, long也是32bit, 有个lang lang是64位。

int永远都是32位的,这是C标准规定的,同样long long永远都是64位的,这也是ANSI标准
至于究竟是什么,还要看编译器是如何实行标准的。光靠C语言的数据类型是无法判断出硬件结构是否是64位的

论坛徽章:
0
13 [报告]
发表于 2005-10-27 21:37 |只看该作者

请教:怎么在Linux下查看CPU是32位还是64位的?

原帖由 "给个理由先" 发表:
前几天碰到这个问题了。
原装rhel4 64位情况下,p4emt64,c语言,gcc编译,int 是32bit,long 是64位。


之前在32位机上,int 是32bit, long也是32bit, 有个lang lang是64位。


long 也是依赖于实现的。只有long long规定了应该是64位的。
在single UNIX的标准里有写的。
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP