64位和32位的区别
转自:https://blog.csdn.net/nma_123456/article/details/45077345
由于操作系统内存分配的不同,导致软件开发过程中,需要编译不同版本的软件,此处以VS为例。
1、编译程序根据需要选择不同的编译环境:
X86和win32位32位程序,X64为64位程序,可以选择不同的编辑条件形成不同位的软件。
2、代码中的基本的数据类型,会根据操作系统的位数分配内存大小:
如int型在32位操作系统为4字节,在64位系统为8字节
因此在64位上对int型数据操作,编译生成32的程序,有可能导致int型越界,软件出现问题
3、32位的程序在64位操作系统上运行,由于64位操作系统的寻址和偏移的问题,也有可能导致程序在运行过程中,计算结果与32位系统不一致
4、64位操作系统理论上能够兼容32位和64位软件,32位操作系统不能运行64程序
5、使用vs2010或vs2012开发的程序,强制编译为32位软件,在xp系统下运行有问题,有可能与.net framework版本有关系,低版本的framework不能支持高版本framework的一些控件或类库。尝试安装高版本的framework解决问题
一)64位系统和32位有什么区别?
1、64bit cpu拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存
2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。
之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(CPU)一次处理数据的能力也是2的倍数。8位处理器、16位处理器、32位处理器和64位处理器,其计数都是2的倍数。一次处理的数据越大,该电脑处理信息的能力越来越大;因此64位处理在先天就比32位处理器具有快速的能力。那为什么不用更高级的128位处理器呢?因为位数越高,处理器芯片的设计也就越复杂,目前的技术水平暂时无法制造这么复杂的芯片。
64位处理器之失
※软件———操作系统不是问题,但是软件出现不兼容难题
64位处理器之得
※硬件———更快的执行速度,更大的内存管理
※软件———最新的尖端软件首先出现在64位平台
(二)数据类型对应字节数
程序运行平台
不同的平台上对不同数据类型分配的字节数是不同的。
个人对平台的理解是CPU+OS+Compiler,是因为:
1、64位机器也可以装32位系统(x64装XP);
2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的);
3、即使是32位的编译器也可以弄出64位的integer来(int64)。
以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。
虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。
理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。
常用数据类型对应字节数
可用如sizeof(char),sizeof(char*)等得出
32位编译器:
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int:4个字节
unsigned int : 4个字节
float:4个字节
double:8个字节
long:4个字节
long long:8个字节
unsigned long:4个字节
64位编译器:
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int:4个字节
unsigned int : 4个字节
float:4个字节
double:8个字节
long:8个字节
long long:8个字节
unsigned long:8个字节
相关阅读
Logo是品牌落地的一种外在形式,品牌的学问太多了,我在最近的几个项目中都有很深的体会。不管是前期的风格尝试,情绪版,还是后面落地到
paddingLeft 与 layout_marginLeft 的区别
paddingleft(内边距) 是指对其内部内容的内边距 layout_marginLeft (外边距)是指距离外部的容器的距离 该图片中的第一个是加上 an
图解事件坐标screenX、clientX、pageX, offsetX的区别
一、图解 如图所示,假设页面中灰色圆点是鼠标点击处,黄色区域是鼠标触发事件对象 二、概念 1、screenX 和screenY 参照点:电脑屏
机房UPS系统1+1
小红书和淘宝的区别有哪些?小红书是最近几年出现在大家视野之中的一个购物平台,短短几年的时间,这个小的电商平台已经成长到一个非