| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3804 人关注过本帖
标题:malloc不free
取消只看楼主 加入收藏
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
结帖率:91.43%
收藏
已结贴  问题点数:20 回复次数:6 
malloc不free
程序代码:
a.cpp(a.exe):
#include<stdio.h>
#include<string.h>
#include<stdlib.h>


int main()
{
    char *p_a=NULL;

    p_a = (char *)malloc(sizeof(BUFSIZ));
    if(p_a != NULL)
        printf("Success malloc\n");
    else
        printf("Error malloc\n");

    return 0;

}

程序代码:
b.cpp(b.exe):
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>

int main()
{
    while(1)
    {
        system("a.exe");
        Sleep(100);
    }

    return 0;

}
这么运行b的话,会不会引起内存泄漏?
看的资料上说,堆空间在程序退出后系统会自动收回分配的内存,但是我理解windows环境下这里的程序说的是进程。那在windows环境下b.exe这么调用a.exe是开一个线程启动a.exe,还是其他的?会不会造成内存泄漏?
linux对于线程进程的概念还分不清楚,但是也有同样的疑问。
搜索更多相关主题的帖子: malloc free exe include windows 
2017-07-06 10:57
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 2楼 nandoulong
谢谢。
2017-07-07 11:00
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 3楼 wp231957
也不是刻意不释放,但是有时候总会在哪不注意就给忘了。

版主说控制台程序是这样的,那windows(以win7为例)下的比如win32应用程序、DLL或者其他类型的是不是退出的时候就不释放?
Linux环境下,版主能否帮忙解答疑惑?

2017-07-07 11:00
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 4楼 rjsp
感谢!
2017-07-07 11:02
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 9楼 wp231957
“进程正常退出(终止) 时 操作系统 会回收内存”是对所有或者大部分操作系统的进程来说,还是仅对windows中的控制台的应用程序?
2017-07-07 11:11
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 5楼 烟雨晨曦
谢谢!
好像明白了一点,不过现在还有一些疑问。

烟雨兄说 相当于在执行终端执行一条命令
我想问一下,这个“在执行终端执行一条命令”是属于在程序内自己的执行终端,还是调用程序外的执行终端。
2017-07-07 11:16
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 12楼 rjsp
静下心,不要急。
和我一起喝口茶,r版。
谢谢
2017-07-07 22:56
快速回复:malloc不free
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.062947 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved