计算文件的MD5时,内存占用极大
参照“ http://community.csdn.net/Expert/topic/4751/4751387.xml?temp=.9281122 ”中 overdream(逗你) 的代码,写了一个计算MD5值的demo,小文件的时候问题不大,可是当尝试hash一个200多M的iso文件时,我发现,和WinMD511.exe相比有两个问题:
其一,hash的速度比WinMD511.exe要慢些。
其二,占用的内存极大。
我用windows的任务管理器查看的,WinMD511.exe在计算的时候,内存使用和虚拟内存分别稳定在3.7M和1.7M,基本就是没有变化的。
而我的demo程序居然可以飙升到200多M,我估计这是将整个文件全部都读取到内存中了。
根据“ http://community.csdn.net/Expert/topic/4722/4722263.xml?temp=.6986505 ”中的讨论情况来看,似乎文件不全部完整的读取出来的话,是无法正确计算出MD5的,那么,我很好奇,WinMD511.exe是如何做到的呢?我要怎样才能减小内存的消耗?这方面有没有什么好的组件或库文件呢?
------解决方案--------------------帮顶
------解决方案--------------------顶
------解决方案--------------------
------解决方案--------------------那就接分了