在VC6下使用文件流是不是会有内存泄漏?

mandysss 2009-05-14 03:17:18
我使用
ifstream in("xxxx.xx");
in.close();

就这两句语句就会泄漏。是不是VC6的BUG?
...全文
144 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2009-05-15
  • 打赏
  • 举报
回复
你怎么测试的?VC6打了sp6补丁没有?据以前看到的文章,fstream有内存泄漏,ofstream和ifstream都没有问题。
herman~~ 2009-05-15
  • 打赏
  • 举报
回复
不太可能吧

lingyin55 2009-05-15
  • 打赏
  • 举报
回复
找了一下没找到什么好的资料,不清楚,貌似就是一个bug,不过自己没有试过。

[Quote=引用 10 楼 mandysss 的回复:]
引用 9 楼 mengde007 的回复:
问题关键是打开成功了没?


打开肯定成功了。所有工作都执行完了。

后来我发现泄漏,把代码都注掉,只留下打开和关闭,还是泄漏。
[/Quote]
mandysss 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 mengde007 的回复:]
问题关键是打开成功了没?
[/Quote]

打开肯定成功了。所有工作都执行完了。

后来我发现泄漏,把代码都注掉,只留下打开和关闭,还是泄漏。
arong1234 2009-05-15
  • 打赏
  • 举报
回复
而且有些内存确实需要在进程的整个生命周期都存在,且占用不大,因此可能永远不释放它,这有时甚至是个性能提高的手段,而不是泄漏。假如我实现一个内存池,就可能一旦分配永远不释放,你很难说这就是一种泄漏。而一般的泄漏检测工具往往只能把这种内存定义味泄漏



所以关键你要明白什么是泄漏、被泄漏的对象存在的意义是什么、它泄漏的结果是什么。
arong1234 2009-05-15
  • 打赏
  • 举报
回复
我觉得泛泛的问没有什么意义,看看那个工具指出的泄漏到底是什么东西泄漏了,看看它所指出的泄漏内存的生命周期和使用情况,只有自己手工分析一遍,才能真正弄明白
arong1234 2009-05-15
  • 打赏
  • 举报
回复
detector不一定很准确的,检测和证明leak是很复杂的事情,有很多工具都误报过

[Quote=引用 14 楼 mandysss 的回复:]
使用Visual Leak Detector检测到得
[/Quote]
mandysss 2009-05-15
  • 打赏
  • 举报
回复
使用Visual Leak Detector检测到得
mengde007 2009-05-14
  • 打赏
  • 举报
回复
问题关键是打开成功了没?
mandysss 2009-05-14
  • 打赏
  • 举报
回复
看了你的连接,好像都没有解决办法。

难道只能换新版本vc?
lingyin55 2009-05-14
  • 打赏
  • 举报
回复
看了3楼的链接没有?

[Quote=引用 5 楼 mandysss 的回复:]
对,和上面说的差不多。怎么解决?

就这两句,而且也打开成功了。
[/Quote]
沙漠里的海豚 2009-05-14
  • 打赏
  • 举报
回复
呵呵 从没遇到过呢
mandysss 2009-05-14
  • 打赏
  • 举报
回复
对,和上面说的差不多。怎么解决?

就这两句,而且也打开成功了。
liliangbao 2009-05-14
  • 打赏
  • 举报
回复
up
  • 打赏
  • 举报
回复
无语,怎么可能这2句会内存泄漏
lingyin55 2009-05-14
  • 打赏
  • 举报
回复
不会吧,你确定in已经打开成功了?

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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