如何用C++代码检测你用的编程环境是64系统还是32位系统?
来源:互联网 发布:法宣刷积分软件 编辑:程序博客网 时间:2024/05/20 18:43
如何用C++代码检测你用的编程环境是64系统还是32位系统?
在C++中32位和64位编码还是有区别的,比如你要输出或使用一个指针时要转化成4字节呢还是8字节呢?
aClass* p = new aClass();cout << (unsigned int)p << endl; // 32 位系统cout << (unsigned long)p << endl; // 64 位系统
首先得明白32位系统和64位系统的区别。
32位和64位系统的主要差别在于CPU一次处理数据的能力是32位还是64位。所以从这里来看64位系统的执行效率是比32位更高的。而对于C++程序员来说它对我们的影响除了X86和X64架构平台影响之外,还有存储时地址的影响。32位的寻址范围是2^32 = 4G,也就是说32位系统最高支持4G内存,而64位系统的寻址范围是2^64 = 4G*4G,它所支持的内存对于现在我技术来时是个天文数字。
方法一:
用指针的方式,因为32位系统的寻址空间只有32位大小,所以32位系统的指针所指向的地址应该是32位,如果用sizeof求任意类型的的指针的大小的话应该得到4字节。同里如果是64位系统的话则是8字节。
cout << "sizeof(int*):" << sizeof(int*) << endl; // 32 位系统则是4字节, 64位系统则是8字节
0 0
- 如何用C++代码检测你用的编程环境是64系统还是32位系统?
- python检测windows系统是32还是64位
- 编程确定系统是32位还是64位
- 通过C代码判断系统是32位还是64位
- C获取系统是32位还是64位
- 如何用程序检测系统处理器的存储模式(即是大端存储还是小端存储)
- 怎么查看系统是32位还是64位的?
- c判断windows的系统是32位还是64位
- C程序如何区分是64位系统还是32位系统
- 用代码查看你装的jdk的版本是32位还是64位
- 查看系统是32位还是64位系统
- 查询linux是32位系统还是64位系统
- 查看系统是32还是64位
- 五种方法检测你的 Linux 是32位还是64位
- 识别你的系统是32位还是64位, Linux文件和目录访问权限设置
- ubuntu环境下查看系统是32位还是64位
- 如果知道dll文件是面向32位系统还是面向64位系统的?
- 如果知道dll文件是面向32位系统还是面向64位系统的?
- IOS8 设置TableView Separatorinset 分割线从边框顶端开始 (这个和我之前的有点区别)
- getElement的几种方式的区别
- springMVC+mybatis+spring整合中varchar错误
- interactivePopGestureRecognizer无反应及假死卡顿的解决方案
- C++ Lists
- 如何用C++代码检测你用的编程环境是64系统还是32位系统?
- Android自定义属性 format的深入解析
- 04-iBatis增删改查总结
- linux硬件信息查询
- malloc/free & new/delete
- Flex的动画效果与变换(一)
- AE开发OMD
- 编程思想-访问权限控制
- 利用MSP430单片机进行SD卡初始化-实战应用(一)