易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 下C在开发板上发现内存泄露怎么办?

    我copy了一部分别人的程序,在开发板上运行一段时间后发现有内存泄露的提示,这个该怎么办,也没调试工具,只能加打印信息。

帮你顶一下.这么重要的帖子可不能沉下去了.
建议使用工具检查,有一些内存泄漏检查工具的.
最好安装上调试工具.自己调试过程中,会学习很多东西.

能出现内存泄漏的情况也是有自由分配区的内存了,malloc()函数或者new操作符分配的内存了。
如果没有好的工具用的话,看看代码,看哪些有程序分配的内存没有释放掉,然后一个个释放掉,呵呵

up!

呵呵,实在不行,就使用“目测法”吧

代码里面只有进程启动的时候用到malloc,并且只用一次,我在进程结束的时候free(但是在运行过程中泄露)
其他地方就没再用malloc 也没用过 realloc ,calloc ,strdup
更没用过new
请问还有哪些函数可能导致内存泄露?谢谢

内存泄漏只可能出现在自由分配区,也就是堆块那里,是由程序员自己分配的。其他的地方出现的内存损耗就不能称是内存泄漏了。

引用
代码里面只有进程启动的时候用到malloc,并且只用一次,我在进程结束的时候free(但是在运行过程中泄露)
其他地方就没再用malloc 也没用过 realloc ,calloc ,strdup
更没用过new
请问还有哪些函数可能导致内存泄露?谢谢


我没看过还有其他函数能分配内存了(c语言)。建议还是仔细检查一下代码

用大脑仿真,如果有代码,早晚都能“仿”出来。


是不是运行过程中反复多次申请释放? 如果这样的话是不是因为产生了内存碎片?

代码不多的话直接Review!

自己写段小代码统计ma


相关问答:

一个简单的c游戏

13个人围成一圈,从第一个人开始顺序报号1,2,3。凡报到3者退出圈子,找出最后留在圈子中的人原来的序号
结果应该是13 可我的程序的结果是11 希望好心人帮改一下
#include <stdio.h>
#include < ......

为什么C写DLL文件C、PB能调用VB不能调用

为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?

1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......

大家觉得 C Primer Plus 这本书怎么样呢?

用这本书入门怎么样呢  跟谭浩强的相比如何? 谢谢
我把这本看了几篇,确实很好的书。就不要拿它跟 谭 的书比了, 谭 的书要照顾全国读者。

不可同日而语

一个是国外的,一个是国内的

学完c primer ......

请C/C++高手进,请教!

功能是实现字符串的翻转,不知道哪里有错误,请指教
#include <iostream>
#include <stdio.h>

using namespace std;
void reverse()
{
char ch;
scanf("%c",ch) ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号