天嵌 ARM开发社区

 找回密码
 注册
查看: 3033|回复: 6

sendto 内存泄露

[复制链接]
xzj524 发表于 2010-6-23 15:37:57 | 显示全部楼层 |阅读模式
我在windows ce 5.0 下编写了一个应用程序 要不停的使用用sendto 函数发送UDP数据包 但是每使用一次内存就会增加4K 这样两三个小时后就会内存泄露 把sendto注释掉之后内存就不增加了 请问各位有没有遇到过这种情况 怎么解决的??
亚瑟王 发表于 2010-6-26 10:45:04 | 显示全部楼层
你用了sendto函数之后没有释放掉它所在的空间吧?你传递数据的空间有没有释放掉?
 楼主| xzj524 发表于 2010-6-27 21:16:00 | 显示全部楼层
2# 亚瑟王


他所在的空间是什么意思 我的程序是这么写的
sendto(GeneralSocket,SendBuf_FollowUp,54,0,(sockaddr*)&Remote_Follow,sizeof(Remote_Follow));
后面就没有了 请问如何释放空间啊??
亚瑟王 发表于 2010-6-28 12:33:55 | 显示全部楼层
我认为增加的空间是Remote_Follow引起的。
 楼主| xzj524 发表于 2010-6-28 17:00:53 | 显示全部楼层
4# 亚瑟王


我试了一下 在sendto函数下加入
memset(&Remote_Follow,0,sizeof(Remote_Follow));
内存就不会增加了 但是Remote_Follow这个参数是必须要有的 而且是固定不变的 包含了IP地址等信息
怎么避免这个问题啊??
 楼主| xzj524 发表于 2010-6-29 17:18:01 | 显示全部楼层
问题找到了 不是sendto函数的问题,我的程序里有发送的线程也有接受的线程,发送线程没有问题,是接收的线程部分缓冲区设置有问题
亚瑟王 发表于 2010-6-29 19:04:06 | 显示全部楼层
恭喜楼主。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-21 13:37 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表