C语言 怎么区分当前系统是32位还是64位?

32位和64位指的是操作系统的位数,映射到C语言中,最直观的就是指针类型占用的字节数。

1 32位系统:

地址占32位,所以指针类型同样占32位,即4字节。

2 64位系统:

地址占64位,所以指针类型同样占64位,即8字节。

于是,只需要判断任意一个指针的sizeof值,即可获取到位数。

int main()

{

int bits= sizeof(char *);

if(bits == 4) printf("32位\n");

else if(bits == 8) printf("64位\n");

else printf("others, bits = %d\n", bits);

}

原文地址:https://www.cnblogs.com/Caipenghui/p/9462186.html

时间: 2024-08-28 23:02:23

C语言 怎么区分当前系统是32位还是64位?的相关文章

iOS-程序发布-32位和64位系统的兼容

在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针的寻址范围还是16位的.当年用TurboC时,还要根据应用的大小选择是tiny模式还是其他.后来很长一段时间使用32位的模型编程,4G是牢牢记住的一个边界条件.而现在,64位走到了眼前. 就如同16位转向32位一样,硬件肯定是最先推出的,SDK也会跟进,然后各种第三方的应用才会逐步跟进,这个过程一般

zz Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位)

Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位) Posted on 2015年01月28日 by 虾虾 22 Comments 最新的Windows 10 MSDN官方正式版发布后,很多朋友想要尝试下体验最新的Windows 10 系统,根据我的体验,Windows 10 足够出色,十分值得推荐,建议还没有安装过Windows 10 的朋友在Windows 7 或者Windows 8 系统中进行升级安装,这样可以直接激活你的Windows 10,你也可以使用下面

Win7系统32位和64位有什么区别?

32位与64位系统的区别与联系,已经是一个老生常谈的问题了,下面我深入的给同学们介绍下Win7系统32位和64位的区别与联系,大家不太懂的地方可以问度娘.另外还有一部分朋友会问XP或者Win8系统32位与64位的区别,其实跟Win7都是一样的. Win7系统32位和64位的区别 对于目前来说,绝大多数软件以32位开发为主,当然也开始有越来越多应用采用64位设计,对于一般用户而言,不管是32位还是64位系统,其实使用上差别基本感受不到,因此一般我们无需纠结于到底是选择32位还是64位Win7系统.

Linux系统查看系统是32位还是64位方法总结(转)

总结.归纳查看Linux系统是32位还是64位的一些方法,很多内容来自网上网友的博客.本篇只是整理.梳理这方面的知识,方便自己忘记的时候随时查看. 方法1:getconf LONG_BIT 查看 如下例子所示: 32位Linux系统显示32, 64位Linux系统显示64.最简单.快捷的方法. [[email protected] ~]# getconf LONG_BIT 32 [[email protected] ~]# getconf LONG_BIT 64 方法2:uname命令查看 如下

Linux判断CPU是32位还是64位,判断系统是32位还是64位

from:http://www.ipcpu.com/2010/08/linux-cpu-32-64/ 本文仅限于服务器CPU和Linux系统讨论,与台式电脑.笔记本无关. 32位.64位不能乱装,64的能装32位的,因为64位的CPU可以兼容32位,32位的装不了64位的.最近部署了MongoDB,系统是32位的提示会有最大文件2G的限制.还有最常见的问题32位系统不支持4G以上内存,即使打PAE效率也受影响. 1.判断CPU是32位还是64位 这个问题比较有意思,网上给出的办法都是判断了系统的

VC++ 判断当前系统为32位还是64位

尝试了在VC++环境下判断系统为32位还是64位的方法,亲测有效!提供的函数如下 BOOL IsWow64() { typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL bIsWow64 = FALSE; fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress( GetModuleHandle

Win7系统32位和64位的区别

Win7系统32位和64位的区别已经是一个老话题了,可是还是有很多朋友不明白.这两者到底有什么区别呢?下面本文与大家通俗的介绍下Win7系统32位和64位的区别,其他一些深入的理论讲述,大家可以看看文章结尾的扩展链接.值得一提的是,另外还有一部分朋友会问XP或者Win8系统32位与64位的区别,其实跟Win7都是一样的.Win7系统32位和64位的区别     对于目前来说,绝大多数软件以32位开发为主,当然也开始有越来越多应用采用64位设计,对于一般用户而言,不管是32位还是64位系统,其实使

32位和64位系统,到底哪个好?

今天这是个纯理论分享了,32位和64位系统有什么区别?我们到底用哪个好?这个问题在xp时代都不存在,vista系统不谈,从win7开始,才出现在我们面前,让我们抉择.相信好多人不懂或有些误区,更甚至有部分自称为[专家]的人告诉你用32位的,用64位的系统好多软件都不兼容,娜娜想说的是:没有最好,只有最合适!下面娜娜来揭开他们之间的面纱,看完之后,相信你一定能够知道哪个系统更适合自己了. 1)为什么有32位和64位之分? 其实说32位和64位是指系统支持CPU一次能够处理的数据是32位还是64位,

系统32位和64位的区别

32位和64位有什么区别呢? 什么时候安装32位的,又什么时候安装64位操作系统呢?如何查看系统是32位的还是64位的?       我们所谓的32位.64位指的是CPU的GPRs(General-Purpose Registers,通用寄存器)的数据宽度.64位的cpu较之32位可以进行更大范围的整数运算:可以支持更大的内存.不能因为数字上的变化,而简单的认为64bit处理器的性能是32bit处理器性能的两倍.实际上在32bit应用下,32bit处理器的性能甚至会更强,即使是64bit处理器,