访问量: 144 次浏览
这几天调试fragstats。因为对C语言不是很熟悉,对于其内存分配这方面一直弄不清楚。编译运行fragstats时,发现其中有一个free_memory()的函数,用来释放程序运行时分配的内存,但这个函数偶然会出错。我就想将这个函数注释掉会怎样,上网查了一下,找到如下资料。
> Q. C语言,用了malloc之后,不用free会怎么样,会有什么后果?吗?那样他所占用的空间会不会自己释放,如果不能怎么办,是不是内存就一直被他们占着,有没办法释放?
原来是这样。 fragstats是很小的一个程序,虽然我运行时要使用Python进行大量的调用,但是既然fragstats运行完成后会完全释放内存,我就不用担心内存泄漏的问题了。时间宝贵,把程序运行起来先,这个问题以后再慢慢解决。