linux c语言如何分配大内存

[复制链接]
查看11 | 回复3 | 2021-1-27 06:25:47 | 显示全部楼层 |阅读模式
远程登录工作站(64G)c语言分配12G内存失败
代码如下#include
#include
#include
intmain()
{
char*x=NULL;
x=(char*)calloc(3001*3001*1200,sizeof(char));
if(x==NULL)
printf("failed");
elseprintf("success");
return0;
}
结果是failed
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:25:47 | 显示全部楼层
明白了原来是3001*3001*1200超过了int的范围改为unsignedint就行了
回复

使用道具 举报

千问 | 2021-1-27 06:25:47 | 显示全部楼层
有一点不解,堆内存不可能有12G吧?
回复

使用道具 举报

千问 | 2021-1-27 06:25:47 | 显示全部楼层
可以的,修改成unsignedint即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行