注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

[win32] 让32-bit program在64-bit system上使用4G内存  

2011-11-14 18:21:13|  分类: win32 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
开启编译选项 Linker => System => Enable Large Addresses
[win32] 让32-bit program在64-bit system上使用4G内存 - kasicass - Code@Pig Home

默认只能用 2G 内存的程序,在 32-bit 系统上可以用 3G 内存;在 64-bit 系统上可以用 4G 内存。
------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main()
{
unsigned int sum = 0;
while (1) {
void *p = malloc(1024*1024);
if (p == NULL)
break;

sum++;
memset(p, 0, 1024*1024);
Sleep(1);
}

printf("total: %u Mb\n", sum);
return 0;
}
------------------------------------------------------------------------------
D:\>cl /c bigguy.c

D:\>link /LARGEADDRESSAWARE bigguy.obj

D:\>dumpbin /headers bigguy.exe | grep large
                   Application can handle large (>2GB) addresses

D:\>bigguy.exe
total: 3826 Mb
------------------------------------------------------------------------------

原理,请看Mark老大的详细讲解。
http://blogs.technet.com/b/markrussinovich/archive/2008/11/17/3155406.aspx
  评论这张
 
阅读(1055)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017