如何查看linux x86和x64

如何查看linux x86和x64,第1张

1、切换到root用户,su - root,如下图

2、getconf LONG_BIT

通过命令getconf LONG_BIT获取系统位数,返回32就表示是32位,返回64就表示是64位,如下图。

3、uname -a

通过命令uname -a获取系统位数,返回ixxx的全是32位的,有X86_64的全是64位,如下图。

4、file /sbin/init或file /bin/ls

通过命令file /sbin/init或file /bin/ls获取系统位数,有32-bit的是32为的,有64-bit的是64位的,如下图。

网上有说法,X64 linux上,32位executable的text段起始地址是0x08048000,64位executable的text段起始地址是00400000。在一台机器上试验,确实如此:

但是换了一台机器,完全不是这个样子了:

可执行程序每次启动时,都被加载到随机位置上,这种现象叫PIE。PIE会使mtrace、addr2line这样的工具无效。

与linux发行版本、编译器版本都有关。例如:

gcc a.c -fpie -pie

效果如下:

gcc a.c -no-pie

效果如下:

是指CPU的架构。CPU分为精简指令集(RISC)和复杂指令集(CISC)两大类架构。

SPARC是SUN公司开发的一种基于精简指令集的CPU架构。

X64严格的说应该是X86-64 。X86最早由英特尔公司开发的基于复杂指令集的CPU名称后面都有86字样,所以将该架构的CPU统称为X86。X64是指AMD公司生产的64位CPU 。

关于CPU架构可以百度搜索 “CPU”,参考“技术架构”部分。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6063494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存