首页
社区
课程
招聘
请问如何申请4GB以上的内存?
发表于: 2013-7-9 19:25 4630

请问如何申请4GB以上的内存?

2013-7-9 19:25
4630
在用hash查找做一个亿级数据量的查找

需要申请将近8GB内存空间(没有冲突的HASH算法理论上就要这么多空间)

但是在64位win7上的VS2012(应该是64位版的VS)HeadAlloc GlobalAlloc函数的参数都是SIZE_T

SIZE_T就是 unsigned int ,sizeof(int)出来还是4

我就纳闷了,怎么样才可以使用4GB 以上的内存啊??

求大神们指导!!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 608
活跃值: (643)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
SIZE_T是便于移植而设置的一个类型
楼主你没搞错吧,这个SIZE_T在32位下是4,64位下是8
2013-7-9 19:37
0
雪    币: 92
活跃值: (209)
能力值: ( LV6,RANK:95 )
在线值:
发帖
回帖
粉丝
3
我在64位系统的VS2012 下面sizeof了一下 还是4
要让这东西变成8该怎么搞?
2013-7-9 19:38
0
雪    币: 183
活跃值: (1058)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
要设置成 64位的编译环境吧
2013-7-9 20:13
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
添加编译器,选择X64 然后编程成X64的程序,就可以使用8字节的长度啦. 单一进程申请内存好像可以到128G吧!
2013-7-9 20:49
0
雪    币: 92
活跃值: (209)
能力值: ( LV6,RANK:95 )
在线值:
发帖
回帖
粉丝
6
编译环境怎么设置呢 ?是不是 需要另外装东西、
2013-7-9 21:12
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
7
不用.不过你在装VS的时候要把X64编译器给选择上,剩下的就是在VS 里选择了

工程属性  -> 配置管理器 -> 活动解决平台 -> 新建-> 键入或选择新平台 ->  X64  

剩下的就是选择X64的平台了
2013-7-9 21:18
0
雪    币: 92
活跃值: (209)
能力值: ( LV6,RANK:95 )
在线值:
发帖
回帖
粉丝
8
帅呆了。。。。64位下面 long才是8字节的
2013-7-9 21:40
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
9
x64下int 是_int64 也是8字节啊
2013-7-10 17:55
0
雪    币: 275
活跃值: (51)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
貌似快速启动栏有快捷方式开启64模式,然后你更改目标机器平台
2013-7-10 23:52
0
游客
登录 | 注册 方可回帖
返回
//