C语言编程中用了malloc之后,不用free会怎么样

C语言编程中用了malloc之后,不用free会怎么样


发布日期: 1970-01-01 更新日期: 2015-02-05 编辑:giser 浏览次数: 14438

标签:

摘要: 这几天调试fragstats。因为对C语言不是很熟悉,对于其内存分配这方面一直弄不清楚。编译运行fragstats时,发现其中有一个free_memory()的函数,用来释放程序运行时分配的内存,但这个函数偶然会出错。我就想将这个函数注释掉会怎样,上网查了一下...

这几天调试fragstats。因为对C语言不是很熟悉,对于其内存分配这方面一直弄不清楚。编译运行fragstats时,发现其中有一个free_memory()的函数,用来释放程序运行时分配的内存,但这个函数偶然会出错。我就想将这个函数注释掉会怎样,上网查了一下,找到如下资料。

Q. C语言,用了malloc之后,不用free会怎么样,会有什么后果?吗?那样他所占用的空间会不会自己释放,如果不能怎么办,是不是内存就一直被他们占着,有没办法释放?

  • 1.对你系统没有影响,如果不free的话,只是该程序在运行时一直占有一定量的内存,只要程序不运行了,内存就会自动释放。对电脑内存没有影响。
  • 2.是,内存会被一直占着,而且释放后那个指针就找不到了,这就造成了内存泄露,只有关闭程序才能释放内存 A. 不会有什么大问题的。一般的c程序占不了多大的内存空间,不释放的话在程序结束之后也会自动释放掉的。但是在以后遇到大型的问题,就要记得合理安排内存的使用了。
  • 3.对系统没有影响,如果不用free的话,只是该程序在运行时一直占有一定量的内存,只要程序不运行就不会占用了!

原来是这样。 fragstats是很小的一个程序,虽然我运行时要使用Python进行大量的调用,但是既然fragstats运行完成后会完全释放内存,我就不用担心内存泄漏的问题了。时间宝贵,把程序运行起来先,这个问题以后再慢慢解决。

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org