32位系统和64位系统变量所占空间总结
来源:互联网 发布:arc map空间数据编辑 编辑:程序博客网 时间:2024/05/23 14:18
转自:http://z2403030202.blog.163.com/blog/static/40816034201031443317554/
随着硬件的不断降价,我们的计算机内存也越来越大。而我们经常使用的Windows操作系统大都是32位的,4G内存成为一个瓶颈问题。作为软件开发爱好者,如何在64位系统下做程序设计成为了日程中的话题。下面我根据程序在不同平台下的运行情况,总结了一下C/C++常用数据类型所占的内存空间。
Win64, 也就是X64编译配置下:
char:1字节;
short:2字节;
int:4字节;
long:4字节;
long long:8字节;
float:4字节;
double:8字节;
long double:8字节;
wchar_t:2字节;
bool:1字节;
char*:8字节;
bool*:8字节;
short*:8字节;
int*:8字节;
long*:8字节;
long long*:8字节;
float*:8字节;
double*:8字节;
long double*:8字节;
wchar_t*:8字节;
下面是Win32, 也就是X86编译配置下变量所占字节数:
char:1字节;
short:2字节;
int:4字节;
long:4字节;
longlong:8字节;
float:4字节;
double:8字节;
long double:8字节;
wchar_t:2字节;
bool:1字节;
char*:4字节;
bool*:4字节;
short*:4字节;
int*:4字节;
long*:4字节;
long long*:4字节;
float*:4字节;
double*:4字节;
long double*:4字节;
wchar_t*:4字节;
总结:经上述比较,一般变量在X86和X64系统下长度没什么区别,区别在于指针的寻址范围从32位增加到了64位。如果考虑对64位系统下程序的兼容性,指针是唯一需要注意的地方。从32位系统过渡到64位系统不同于从16位系统过渡到32位系统,因为DOS系统下int只有2个字节,而Windows系统下int是4个字节,过渡到64位系统后int的字节数没有增加。如果使用Windows系统编程,支持64位需要Visual Studio 2005/2008均可,而早期版本是不支持64位平台的。
- 32位系统和64位系统变量所占空间总结
- 32位系统和64位系统变量所占空间总结
- 32位系统和64位系统变量所占空间总结 .
- 32位系统和64位系统变量所占空间总结
- 32位系统和64位系统变量所占空间总结
- 32位系统和64位系统变量所占空间总结
- 32位与64位系统各个变量所占空间大小
- 基本数据类型在32位系统和64位系统中所占字节数
- vc++常见数据类型所占字节空间总结(VS2008 64位系统)
- C语言在32位和64位系统上各类型所占字节数
- 32位和64位系统区别及常用数据类型所占字节数
- 32/64位系统int、long。。。所占字节
- 32 64 编译系统所占空间
- 32位电脑“内置类型"所占空间大小
- 位域所占空间的大小
- C++变量在32位系统和64位系统的区别
- 32位和64位系统
- 64位和32位系统编程
- <转载>CentOS 6.3下Samba服务器的安装与配置
- Qualcomm(高通)
- foxmail邮件发送不成功
- [C#]將數字前面補0,補足設定的長度
- JS之模板技术(aui / artTemplate)
- 32位系统和64位系统变量所占空间总结
- ie678兼容css3
- C/C++ 初学简单笔记 —3— 继承与派生
- 配置ssh无密码登陆的错误
- OpenCV 2.4.X最常用的数据类型
- 编程挑战之三角形的内切圆与外接圆
- 【C/C++】计时函数比较
- linux sar命令详解
- ADT/Eclipse 中Graphical Layout无法显示的问题的解决