读取文件内存一直增大怎么解决?

l0v3_y1n9 2009-05-05 01:10:13
function LoadFileData(szFileName:PChar;var FileSize:Cardinal):PChar;
var
hFile:THandle;
BytesRead:DWORD;
begin
Result:=nil;
FileSize:=0;
hFile:=CreateFile(szFileName, GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Try
if hFile = INVALID_HANDLE_VALUE then Exit;
FileSize:=GetFileSize(hFile,nil);
Result:=VirtualAlloc(nil,FileSize,MEM_COMMIT or MEM_RESERVE,PAGE_READWRITE);
ReadFile(hFile,Result^,FileSize,BytesRead,nil);
Finally
CloseHandle(hFile);
End;
end;


我需要定时读取指定文件,不断地调用LoadFileData这个函数,然后内存对比是否被修改,但是每次读取,内存都狂增,请问有什么解决方法么?
...全文
149 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Seamour 2009-05-05
  • 打赏
  • 举报
回复
抄来的吧,放着GetMem/FreeMem不用非得用VirtualAlloc,光alloc不free还想内存自动回来啊

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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