WEB开发网
开发学院操作系统windows 2008 Windows系统的活动大陆:细看DLL文件 阅读

Windows系统的活动大陆:细看DLL文件

 2007-02-20 12:18:48 来源:WEB开发网   
核心提示: 图3 dll文件中包含的其他资源刨根问底:DLL的寓言 DLL引起的故障是很常见的,为什么会引起故障?遇到故障怎么解决?嘘~偷听一下DLL的对话,Windows系统的活动大陆:细看DLL文件(5),你就会明白了,1.从搬运工谈接口兼容性在Windows工地上,2.登记身份证的DLL在系统故

图3 dll文件中包含的其他资源

刨根问底:DLL的寓言

DLL引起的故障是很常见的,为什么会引起故障?遇到故障怎么解决?嘘~偷听一下DLL的对话,你就会明白了。

1.从搬运工谈接口兼容性

在Windows工地上,有一个名叫EXE的包工头,他手下有很多称为DLL的建筑工人。其中有一个专门负责搬运的DLL(暂且称为“搬运工A”),每次需要搬运水泥时,包工头EXE都只要对他喊一声:“来!搬。”

过了一段时间,搬运工A觉得自己的效率太低,于是从原来的每次搬1袋水泥改成了每次搬3袋水泥。改进了搬运方法后,EXE包工头仍然每次只是喊一声:“来!搬。”却不知搬运工A已经改变了搬运的方法。

但又过了一段时间,包工头EXE把搬运工A给辞退了,从别的工地上找来了另一个DLL(暂且称为“搬运工B”)。这个搬运工在别的工地的时候,搬运东西特别快,所以包工头EXE决定把搬运工作给“升级”一下。但真正开始工作时,包工头才发现出了问题……现在不管叫几遍“来!搬。”这个新来的搬运工B都不知道究竟应该搬什么。

上面的例子中,搬运工A改进搬运方法,但EXE调用它的方法仍不变,这就是DLL升级的原理,改进了内部的实现方法,但调用接口不变,这样EXE文件不用跟着升级,就能调用新版本的DLL了。而搬运工B的故事说明,不管新版本的DLL效率多高,如果接口(可以理解为DLL中输出的函数名)与原来的不一致,那么EXE就不知道也无法调用它了。

2.登记身份证的DLL

在系统故障中,有很多都是由于DLL文件没有注册造成的,比如Windows XP的压缩文件夹功能出现故障就很有可能是系统目录中的zipfldr.dll没有注册造成的,这类故障的解决方法也大多是运行如下命令:

上一页  1 2 3 4 5 6  下一页

Tags:Windows 活动

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接