sizeof(void*)
2015-07-17 12:23
323 查看
在vs中,Win32 和 X64 的结果不同:
(1)Win32 平台结果是4
(2)X64平台结果是8
只要是指针,不只是void*,包括char* 或 int*,结果都是一样。
原因就是指针存放的是内存地址,所以Win32 索引32位地址(4字节),X64索引64位地址(8字节)
最后给一段干坏事的代码,很简单,但是跟上面说的贴切,用 Win32 指令编译是只能吃掉4G,但是用 X64 就一定可以吃干你的内存 ~.~,原理同上
(1)Win32 平台结果是4
(2)X64平台结果是8
只要是指针,不只是void*,包括char* 或 int*,结果都是一样。
原因就是指针存放的是内存地址,所以Win32 索引32位地址(4字节),X64索引64位地址(8字节)
最后给一段干坏事的代码,很简单,但是跟上面说的贴切,用 Win32 指令编译是只能吃掉4G,但是用 X64 就一定可以吃干你的内存 ~.~,原理同上
#include <iostream> using namespace std; int main() { while (1) malloc(sizeof(int)); return 0; }
相关文章推荐
- 数组
- UILable写出类似Cell的UITableViewCellStyleSubtitle状态下效果
- 【手势交互】6. 微动VID
- 配置文件工具类
- Hibernate ehcache配置二级缓存
- iOS int long NSInteger 入门与兼容问题讲解,让你秒懂
- 数据结构复习之线性表
- Powershell 自定义输出列,两个例子
- SICP 1.11
- Baidu Map开发示例
- Linux下的查找命令使用指导
- 表和视图之间的区别
- 解析su,su -,sudo的区别
- Problem 2072 Count
- 浏览器web播放rtsp视频流解决方案(chrome/IE/firefox/360等)
- solr查询语法
- Everything search syntax
- iOS POS之 AsyncSocket release环境运行崩溃问题
- fatal error LNK1168: cannot open Debug/opreat.exe for writing
- 在vs10中处理多线程MFC遇到的问题