日期:2014-05-20  浏览次数:20852 次

计算文件的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是如何做到的呢?我要怎样才能减小内存的消耗?这方面有没有什么好的组件或库文件呢?


------解决方案--------------------
帮顶
------解决方案--------------------

------解决方案--------------------

------解决方案--------------------
那就接分了