社区
Linux/Unix社区
帖子详情
请问在linux下如何判断当前系统是32bit还是64bit
wabc
2004-08-18 10:20:16
在C语言中需要在运行时判断当前系统的架构:32bit/64bit,不知道如何判断.
...全文
459
15
打赏
收藏
请问在linux下如何判断当前系统是32bit还是64bit
在C语言中需要在运行时判断当前系统的架构:32bit/64bit,不知道如何判断.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ruyedian
2004-10-19
打赏
举报
回复
学习
wabc
2004-10-18
打赏
举报
回复
Way79(Way)的方法在某些情况下并不能准确判断系统类型,因为需要编写跨平台C语言程序,所以还必须考虑以下情况:32位的程序可以在64位的系统下运行,我们就不能使用编译时(Compile-time)检测方法,而必须使用运行时(run-time)检测方法.
其实用uname就可以实现运行时检测,多数UNIX/LINUX系统也提供了该C语言库函数.
多谢各位.
yjf7888
2004-08-23
打赏
举报
回复
在(伪)64位系统下,指针也可以用编译器选项强制指定为32位的。我觉得应该判断long的字节数。
pacman2000
2004-08-23
打赏
举报
回复
另外:long是64位的。
cvsuser
2004-08-23
打赏
举报
回复
判断一个指针占几个字节,
4 个 32位
8 个 64位
========================================
感觉Way79的答案接近正解
flyinghawkren
2004-08-23
打赏
举报
回复
感觉Way79的答案接近正解
Letbeger
2004-08-23
打赏
举报
回复
up
xqg1130
2004-08-21
打赏
举报
回复
我也想要答案,幫樓主頂一下!!
collide
2004-08-20
打赏
举报
回复
32/64的区别之一是指针的长度从32转变到64位,所以,我赞同Way79的方法。
Way79
2004-08-20
打赏
举报
回复
and you should take care of the 64x32 cross compile
Way79
2004-08-20
打赏
举报
回复
In C:
#define IS64BIT (sizeof(void*)==8)
Way79
2004-08-20
打赏
举报
回复
please use "uname -m"
The result will be x86_64 on AMD Opteron and be ia64 on Intel Itanium
wabc
2004-08-20
打赏
举报
回复
up
wabc
2004-08-18
打赏
举报
回复
上面的程序还有一个错误是,int类型无论在32位还是在64位,都是32位的.
我的程序在32上编译,但可以在64位上运行,在某些情况在需要检测系统架构.
sivaaeik
2004-08-18
打赏
举报
回复
你这样看行不行
if (sizeof(int) == 4) {
//32位
}
else if (sizeof(int) == 8) {
//64位
}
else {
//重大发现
}
//不过这样实际上在编译的时候就确定了是32还是64位
//这样的程序实际上没有用,应为64位的x86程序肯定不能在64位的SPARC上运行
git官网下载最新版本
Git是世界上最先进的分布式版本控制
系统
,由Linus Torvalds在2005年为
Linux
内核开发而创建。它被广泛应用于软件开发,允许开发者跟踪代码的修改历史,协同工作,并方便地回溯到任何历史版本。在本案例中,我们讨论的...
【
Linux
】查看
Linux
系统
是
32
位还是
64
位的方法
下载很多
Linux
软件时需要知道自己
系统
是
32
位还是
64
位的,本文提供两种查看
Linux
系统
是多少位的方法。 方法一 输入以下命令: getconf LONG_
BIT
如果输出
32
就是
32
位,
64
就是
64
位。如下图所示,就是
64
位: 方法二 ...
linux
32
bit
改为
64
bit
问题
32
bit
-
64
bit
porting work注意事项
64
位服务器逐步普及,各条产品线对
64
位升级的需求也不断加大。在本文中,主要讨论向
64
位平台移植现有
32
位代码时,应注意的一些细小问题。 什么样的程序需要升级到
64
位? ...
linux
c/c++ 区分
系统
是
32
位还是
64
位
__WORDSIZE定义在#include <
bit
s/wordsize.h>中,表示计算机
系统
是几位的。 方法二: #include <stdio.h> int main(int argc ,char* argv) { #ifdef __x86_
64
__ .....
如何
判断
操作
系统
是
32
位还是
64
位?
64
位机器可以运行
32
/
64
位操作
系统
,而
32
位机器只能运行
32
位操作
系统
,这样就有一个问题,对于一个
64
位机器,如何
判断
操作
系统
究竟是
32
位还是
64
位呢? 总结了一下,基本方法如下:1.
linux
:#file /sbin/init/sbin/...
Linux/Unix社区
23,216
社区成员
74,539
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章