Linux下有没有约定俗成的关于32位整形、64位整形的宏定义?

Linux下有没有约定俗成的关于32位整形、64位整形的宏定义?,第1张

没有这类约定俗成的宏定义,因为Linux运行在很多不同的处理器以及平台上,这包括八位、十六位、三十二位、六十四位的嵌入式等平台,而理所当然地也要迎合不同平台的硬件指令集情况,在这种情况下,自然不可能有约定俗成的宏定义,正如楼上所说的,Linux更注重可移植性,所以这些东西,还是根据自己的需求来定义吧

查看linux系统位数最简单的命令(这里以redhat为例,不同版本linux命令也许不同)命令1:getconf LONG_BIT

结果:64命令2:uname -a

结果:Linux Test004MUJUP 2.6.32-431.23.3.el6.x86_64 #1 SMP Wed Jul 16 06:12:23 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

命令3:uname -r

结果:2.6.32-431.23.3.el6.x86_64

命令4:cat /proc/version

结果:Linux version 2.6.32-431.23.3.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Wed Jul 16 06:12:23 EDT 2014

x86_64则说明你是64位内核, 跑的是64位的系统. 《Linux就该这么学》一起学习, i386, i686说明你是32位的内核, 跑的是32位的系统

#include <stdio.h>

int main(int argc  ,char* argv)

{

   #ifdef __x86_64__

         printf("__x86_64__")

   #elif __i386__

         printf("__i386__")

   #endif

   return 0

}


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

原文地址: https://outofmemory.cn/yw/8460123.html

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

发表评论

登录后才能评论

评论列表(0条)

保存