大家帮帮忙啊

somer 2008-01-13 09:24:21
小弟最近遇到个问题,我写了个数据处理的程序用到了hash
小弟用hash链表实现,有个情况是:hash插入到100万个数据的时候,程序申请内存失败
struct bucket
{
char index[64];
char value[64];
struct bucket *next;
};
服务器是16g内存,程序运行时空闲内存还很多,为什么会申请不出来啊
64位机
编译的时候没有加 -q64 和这个有关系吗?还是其他原因,请大家指点一下
...全文
24 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-04-30
我也想知道,正在找這方面的資料~~~~~
回复
starwalker 2008-01-15
VAC就是AIX下面用的编译器啊
visual age c
后来的版本也叫做xlc
如果是没有license,就不可能编译出来
看来你的问题就是256M内存限制的
连接的时候加个参数“-bmaxdata:0x40000000”,可以最大使用1G内存,后面那个0x40000000就是字节数,必须是256M的正整数倍数。
回复
somer 2008-01-14
No licenses available
跟着个有关系吗??
回复
somer 2008-01-13
ibm aix 程序没用到2g内存,也就300m左右
vac编译是什么意思??
回复
starwalker 2008-01-13
什么操作系统啊?
看看你的程序是不是使用了2G内存了?32位的程序最多访问2G内存。
如果到了2G了,就编译成64位版本吧。
另,VAC编译的话,默认程序只能使用最多256M内存
回复
发动态
发帖子
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
社区公告
暂无公告