C语言数据类型64位和32机器的区别

C语言编程需要注意的64位和32机器的区别

、数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较:

32位平台

char:1字节;

short:2字节;

int:4字节;

long:4字节;

long long:8字节;

float:4字节;

double:8字节;

long double:8字节;

wchar_t:2字节;

bool:1字节;

指针         4个字节

64位平台

char:1字节;

short:2字节;

int:4字节;

long:4字节;

long long:8字节;

float:4字节;

double:8字节;

long double:8字节;

wchar_t:2字节;

bool:1字节;

指针        8个字节

原文地址:https://www.cnblogs.com/GHzz/p/9211490.html

时间: 2024-11-08 15:33:58

C语言数据类型64位和32机器的区别的相关文章

【转】win32,win64编程永恒;语言编程需要注意的64位和32机器的区别

原文网址:http://www.cnblogs.com/kex1n/archive/2010/10/06/1844737.html 一.数据类型特别是int相关的类型在不同位数机器的平台下长度不同.C99标准并不规定具体数据类型的长度大小,只规定级别.作下比较: 16位平台 char         1个字节8位 short        2个字节16位 int            2个字节16位 long         4个字节32位 指针         2个字节 32位平台 char 

%1不是有效的 win32应用程序(64位转换32位)

phpmyadmin打开时候显示 HTTP500内部服务器错误,用火狐浏览器显示的是%1不是有效的 win32应用程序.谷歌一下,终于找出问题,原来是windows2003 64位的操作系统和32位IIS的问题..最终找到解决方法如下: 要运行 32 位版本的 ASP.NET 2.0,请按照以下步骤操作:1. 单击"开始",单击"运行",键入 cmd,然后单击"确定". 2. 键入以下命令启用 32 位模式: cscript %SYSTEMDRI

HTTP500错误:%1不是有效的 win32应用程序(64位转换32位)

IE--internet选项--高级--"显示友好的HTTP错误信息"  前面的勾取消 网站具体错误信息:%1不是有效的 win32应用程序(64位转换32位) 原因:在windows 2003 64位系统上安装完iis后,运行PHP文件提示%1不是有效的 win32应用程序,原来是windows2003  64位的操作系统和32                                       位IIS的问题. 解决办法:要运行 32 位版本的 ASP.NET 2.0 具体

oracle 11g 64位安装32位客户端和PL/SQL

这个你需要安装一个32位的oracle客户端才能使用plsql,但是此时sqlplus就不能使用了,呵呵 . 我又试了以下方法,成功了,哈哈 1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0) 下载地址:http://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html 下载instantclient-basic-win32-11

C#判断系统是64位还是32位 支持.net4.0以前的版本

C#判断系统是64位还是32位的时候引用了一串代码,这个代码是从园子里面其他博文中转载过来的,引入自己的项目中发现无法使用,在引用了相应的命名空间之后还是提示: "未能找到类型或命名空间名称"ConnectionOptions"(是否缺少 using 指令或程序集引用?)": 除了使用 using System.Management; 还需要在解决方案的"引用"中引用才能够起作用,   private string Distinguish64or

【转】如何用WINDBG分析64位机上32位程序的DUMP文件

将dump拖入到windbg中后,在command输入栏输入 .load wow64exts 回车 !sw 回车,就将windbg的dump,从64位模式切换到了32位模式,否则看到的call stack 对我们分析dump是没有帮助的.然后就可以使用其它的命令来分析了.比如:使用kb命令,查看所有线程的调用堆栈,找出出错的线程,~*kb,就是查看所有线程的调用堆栈. http://www.cnblogs.com/suiyingjie/archive/2012/12/07/2807504.htm

如何在WIN2008或WIN2012 64位系统安装32位SQL2000

如何在WIN2008或WIN2012 64位系统安装32位SQL2000 在日常服务器,云服务器或VPS中,因尔特网络工程师遇到部分使用了WIN2008 或WN2012 64位系统的用户需要安装SQL2000数据库软件,但是在安装过程提示该数据库软件与系统不兼容的字样,在这里,我们建议你可以改为安装MSSQL2005或MSSQL2008即可. 如果你仍然需要安装SQL2000的话,方法如下: 第一个方法:另外下载MSSQL2000 64位数据库软件安装即可.不过这个方法比较费时.笔者建议你采用第

32位机 64位机 32位操作系统 64位操作系统

32位机: 一般指的是32位的CPU就是说CUP一次能计算32位. 64位机: 一般指的是64位的CPU就是说CPU一次能计算64位. 32位操作系统: 为32位机而制作的.指的是操作系统的字长是32位的 ,也就间接的影响了地址总线,因此,最大寻址空间也就自然是2的32次方,4G.注意:32位操作系统只能安装再32位机子上. 64位操作系统: 为64位机而制作的.指的是操作系统的字长是64位的,也就间接的影响了地址空闲,因此最大寻址空间也就是2的64次方,128G.注意:64位操作系统可以安装在

Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法

原来使用Win7的32位系统,进行C#工程的开发,后来重装系统,换成了win7的64位系统 调试原来的工程,由于在其中引用了"SQLite"的32位的dll,导致在64为位下程序无法运行(但是编译可以通过) 后来通过修改工程文件(.csproj),在其中设置引用的条件,解决了问题 打开引用了SQLite的工程(例如叫做info)的工程文件(info.csproj),找到对SQLite引用的语句,类似如下的代码 代码如下: <Reference Include="Syst