WinCE下文件操作内存泄漏的问题

wenysongbaobao 2006-06-22 01:44:44
程序执行了反复创建文件和删除文件的操作。
在winXP环境下运行没有问题(或者也可能是我没有发现问题。)
在WinCE环境下会内存泄漏。
偶是菜鸟,第一次玩,向各位高手求救阿!

以下代码:
===================================================
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <atlbase.h>

long times = 20000;

void test_Files(int Count,FILE* pf) {
HANDLE hFile;
BOOL bFileClose;

hFile = CreateFile( TEXT("myfile.txt"),
GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);

if(hFile == INVALID_HANDLE_VALUE)
{
printf("Could not open file (error %d)\n", GetLastError());
return;
}

bFileClose = CloseHandle(hFile);
if (bFileClose == NULL)
{
printf("(E)Cannot close the file.\n");
return ;
}

USES_CONVERSION;
if(DeleteFile(A2CT((LPSTR)"myfile.txt")) == 0)
{
printf("Could not delete file!\n");
return;
}
}

int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow )
{
int nCnt = 0;
FILE *pf = NULL;

for(nCnt = 0; nCnt < times; nCnt++)
{
test_Files(nCnt, pf);
}

return 0;
}
...全文
412 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenysongbaobao 2006-06-28
  • 打赏
  • 举报
回复
谢谢各位,我在删除文件后加了句Sleep,情况有所改善。打算就此结贴了。
载舟之水 2006-06-26
  • 打赏
  • 举报
回复
没有泄漏
singlerace 2006-06-26
  • 打赏
  • 举报
回复
可能跟File System Driver有关。Windows CE下的FAT文件系统一直有些问题,特别是多线程读写文件的时候。
wenysongbaobao 2006-06-25
  • 打赏
  • 举报
回复
又试了下,在2000下也没有问题。有没有有经验的前辈可以告之,会不会是和WinCE系统的什么属性或是环境设置有关呢?大谢!
wenysongbaobao 2006-06-23
  • 打赏
  • 举报
回复
嗯。。。不太明白,怎么封装呢?
flyprogrammer 2006-06-23
  • 打赏
  • 举报
回复
建议将其封装到一个类中,在大括号结束后就自动释放了。(RAII)
按照C++的规范来编程,不要总是用指针吧?
一把吉他 2006-06-23
  • 打赏
  • 举报
回复
bFileClose = CloseHandle(hFile);
这一句当打开文件失败时不会执行,循环时这个句柄就不会释放




-----------------
我猜我猜我猜猜猜
LUOXIANBAOBAO 2006-06-22
  • 打赏
  • 举报
回复
好问题,不要沉啊
zfl926 2006-06-22
  • 打赏
  • 举报
回复
楼上的那位不懂得,这个不是pf的问题!
wenysongbaobao 2006-06-22
  • 打赏
  • 举报
回复
谢谢,可不可具体点说明呢?
xinyu_lj 2006-06-22
  • 打赏
  • 举报
回复
最后在程序中把FILE* pf释放掉
xinyu_lj 2006-06-22
  • 打赏
  • 举报
回复
我以前也遇到过类似的问题,你循环时重复定义了FILE* pf,我想你把FILE* pf定义成类的成员变量就会好了

19,520

社区成员

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

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