我想知道:比如一个拥有几十万病毒库的杀毒软件,在杀毒时,怎么能快速把扫描到的文件与病毒库里的文件进行比对啊?像瑞星这样,拥有100多万的病毒库,却能扫描的那么快,如果单单是循环遍历,一个病毒库循环一遍,怎么也不可能一秒钟都不到吧?所以,我觉得杀毒软件并没有完全循环病毒库,但是我百思不得其解,谁能告诉我啊?
解决方案 »
- 当点击其它按钮后,能让ListView控件刚才被选中的一行继续保持被选中的蓝色?
- 如何选定工具栏中按钮的下拉项?
- 有谁知道,我该引用什么东西就能接决这个怪问题?
- 如何添加INET控件
- 为什么ADODB老是出现“对象‘REFRESH’方法‘IADODC’失败?”
- 如何 Rebuild security object ?
- 怎么打开目录下的txt文件并用正则提取内容
- VB6。0中的通讯控件问题(在线急救!!!)
- 软件发布以后,有什么办法自动找到客户的安装路径
- lihonggen请进,多问1句
- 请问,我想实现在picture控件中显示imagelist中的图片, 应该怎么做呀..?
- 用VB如何读取一个盘符下所有文件夹名(在线等)
所谓的病毒库,就是病毒特征库。很多病毒有共同特征,因此在库中,将病毒分类,建立类似于文件的索引表,
又将表头建立一个散列表。所以杀毒软件并不需要完全循环病毒库。也就导致了它运行时占用CPU和内存很大。
不懂的话请查看随便一本数据结构的书。
你可以这样想象病毒库.date
|__ 种类1 _
| |_ 1
| |_ 2
| |_ .....
|
|__ 种类2 _
| |_ 1
| |_ 2
| |_ ........
|
|_ 种类.........