一个奇怪问题的请教

中文QNX 讨论: 欢迎大家灌水,讨论有关QNX 问题。

一个奇怪问题的请教

帖子weishengshou » 周六 9月 04, 2010 4:08 pm

问题是这样的:
两个程序A,B
代码如下:
A
代码: 全选
for(;;)printf("test");

B
代码: 全选
char *buf;
for(;;)
{
    buf=(char *)malloc(2000);
    buf[1]=1;
    free(buf);
}

系统内存:128M
内存查看方式:/proc
运行方式:
ln -sP /dev/shmem /test
A >/test/test.txt &
B
当程序运行一段时间后,B因为要malloc一个2000的内存,如果分配不成功,后续操作会产生singal 11的段错误,程序退出。

我的问题是:如果将2000改为20,程序一直正常运行,不知道为什么?
另外查看/proc的情况,看到A程序占满内存的情况下,还会有20480字节的内存一直不被使用,不知道原因
请高手解答,谢谢谢谢
weishengshou
Senior Member
 
帖子: 48
注册: 周二 1月 09, 2007 10:10 pm

回到 四海同心QNX论坛

在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客

cron