Linux C编程,内存泄露

我是Android开发者 2013-05-08 10:58:09
最近做的一个项目,自己写的Linux C代码出了问题,是做一个录像的程序,读camera数据,压缩之后存sd卡。
程序跑很长时间,使用free命令查看,使用mem在不停增加。
最后调试发现是由于write函数往sd卡里面写数据的时候mem会不断增加,注释掉之后就不会增加,sd卡应该是外存啊,为什么内存会不断增加呢?
费解!
求大神指点!!
...全文
323 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guan506713512 2013-06-06
  • 打赏
  • 举报
回复
引用 6 楼 u010911648 的回复:
camera数据首先是在放在内存中,然后再写到sd卡中?
赞同
u010911648 2013-05-31
  • 打赏
  • 举报
回复
camera数据首先是在放在内存中,然后再写到sd卡中?
german010 2013-05-08
  • 打赏
  • 举报
回复
哦,这样,学习一下
cclutpk 2013-05-08
  • 打赏
  • 举报
回复
可以尝试一下换个地方存储,比如U盘,看看是不是SD的驱动里面有内存泄露
nadleeh 2013-05-08
  • 打赏
  • 举报
回复
引用 楼主 zhangjie201412 的回复:
最近做的一个项目,自己写的Linux C代码出了问题,是做一个录像的程序,读camera数据,压缩之后存sd卡。 程序跑很长时间,使用free命令查看,使用mem在不停增加。 最后调试发现是由于write函数往sd卡里面写数据的时候mem会不断增加,注释掉之后就不会增加,sd卡应该是外存啊,为什么内存会不断增加呢? 费解! 求大神指点!!
用write函数,别用fwrite
cclutpk 2013-05-08
  • 打赏
  • 举报
回复
引用 3 楼 zhangjie201412 的回复:
[quote=引用 1 楼 cclutpk 的回复:] 可以尝试一下换个地方存储,比如U盘,看看是不是SD的驱动里面有内存泄露
但是,当我kill掉我自己写的程序mem又回复了[/quote] 还是你自己的代码有内存泄露吧!
  • 打赏
  • 举报
回复
引用 1 楼 cclutpk 的回复:
可以尝试一下换个地方存储,比如U盘,看看是不是SD的驱动里面有内存泄露
但是,当我kill掉我自己写的程序mem又回复了

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧