| 发表于:2007-02-25 00:33:21 楼主 |
参照“ 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是如何做到的呢?我要怎样才能减小内存的消耗?这方面有没有什么好的组件或库文件呢? |
|
|
|
|