当前位置: 代码迷 >> C语言 >> 论坛有内存泄漏,请管理员关注一下
  详细解决方案

论坛有内存泄漏,请管理员关注一下

热度:254   发布时间:2008-04-20 14:42:24.0
论坛有内存泄漏,请管理员关注一下
感觉浏览一早上帖子,机器就会变慢,内存占用比刚开始
上论坛高了300MB,我试了一下,每看一个帖子再回到主界面
内存会多1MB左右。
    虽然关掉浏览器就可以解决,不过也算个小bug吧
搜索更多相关的解决方案: 内存  管理员  泄漏  

----------------解决方案--------------------------------------------------------
这个是IE浏览器的通病


----------------解决方案--------------------------------------------------------
哦,对,有可能和论坛没有关系
是浏览器没有释放缓存
----------------解决方案--------------------------------------------------------
没有啊……开了N个页面了也只有四十多兆……顺便说说,我用IE7……
----------------解决方案--------------------------------------------------------
使用时间长才显现的
特别是打开一些带flash或者Java的,特别是后者,很明显的


----------------解决方案--------------------------------------------------------
飞燕……你语法高亮外面那个框是怎么做的啊……
MS我在追着问呢……
----------------解决方案--------------------------------------------------------
回ls:
用[code][/code]
----------------解决方案--------------------------------------------------------
例如
程序代码:

#include<stdio.h>
int main(void)
{
    return 0;
}

----------------解决方案--------------------------------------------------------
程序代码:

[quote]
这个没标题


[/quote]
疯了

[[it] 本帖最后由 yxwsbobo 于 2008-4-20 16:07 编辑 [/it]]
----------------解决方案--------------------------------------------------------
#include <stdio.h>
[bo]typedef[/bo] [bo]struct[/bo] _node{
    [bo]int[/bo] value;
    [bo]struct[/bo] _node* pNext;
}node;
[bo]const[/bo] [bo]int[/bo] MAX_EDGE = 20001;
[bo]const[/bo] [bo]int[/bo] MAX_CITY = 10001;
node nd_pool[MAX_EDGE*2];
[bo]int[/bo] nPoolIndex;
[bo]int[/bo] main()
{
    [bo]int[/bo] n,k;
    [bo]int[/bo] a,b;
    [bo]int[/bo] p,q;
    [bo]while[/bo](scanf("%d%d", &n, &k), n)
    {
        [bo]int[/bo] nCount[MAX_CITY] = {0};
        [bo]int[/bo] nUse[MAX_CITY] = {0};
        node nd[MAX_CITY] = {0};
        node* ndQueue[MAX_EDGE] = {0};
        [bo]int[/bo] QueueBeg=0, QueueEnd=0;
        nPoolIndex = 0;
        [bo]for[/bo]([bo]int[/bo] n1=0; n1<k; ++n1)
        {
            node *pt;
            scanf("%d%d", &a, &b);
            {
                pt = nd[a].pNext;
                nd[a].pNext=nd_pool + nPoolIndex++;
                nd[a].pNext->value=b;
                nd[a].pNext->pNext=pt;
            }
            {
                pt = nd[b].pNext;
                nd[b].pNext=nd_pool + nPoolIndex++;
                nd[b].pNext->value=a;
                nd[b].pNext->pNext=pt;
            }
        }
        scanf("%d%d", &p, &q);
        nUse[p] = 1;
        ndQueue[QueueBeg++] = &nd[p];
        nCount[p]=1;
        [bo]int[/bo] nCur = 1;
        [bo]for[/bo](;QueueEnd<QueueBeg && QueueBeg<=k;) //BFS队列
        {
            [bo]for[/bo]([bo]int[/bo] nB=QueueBeg; QueueEnd<nB; ++QueueEnd) //搜索当前层
            {
                [bo]for[/bo](node* pn=ndQueue[QueueEnd]->pNext; pn; pn = pn->pNext) //搜索所有子结点
                {                    [bo]if[/bo](nUse[pn->value]==0)
                    {
                        nUse[pn->value] = 1;
                        ndQueue[QueueBeg] = &nd[pn->value]; //加到队列尾
                        [bo]if[/bo](nCount[pn->value]==0)
                        {
                            nCount[pn->value] = nCur+1;// nCount[nCur] + 1;
                        }
                        ++QueueBeg;
                    }
                }
            }
            nCur++;// = ndQueue[QueueEnd]->pNext->value;
        }
        [bo]if[/bo](nCount[q]==0)
            puts("No solution");
        [bo]else[/bo] [bo]if[/bo](nCount[q]==1)
            puts("0");
        [bo]else[/bo]
            printf("%d\n", nCount[q]-2);
    }
    [bo]return[/bo] 0;
}

----------------解决方案--------------------------------------------------------
  相关解决方案