实现利用程序中的并行组件同享(一)[VC/C++编程]
本文“实现利用程序中的并行组件同享(一)[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
择要:探究 Microsoft(R) Windows(R) 2000 和 Windows 98 第二版本中并行同享组件的实现(如 Windows 认证标准中谈论的).包含新的并行组件的成立以及利用 DLL/COM 重定向处理相同组件的差别版本之间的不兼容性.包含编写和安装并行组件以及重新打包和测试利用程序的指南.
目录
介绍
一点后台知识
新组件同享战略
对比两种战略
成立新的并行组件
并行组件编写指南
安装并行组件
DLL/COM 重定向
利用 DLL/COM 重定向
介绍
现代操作系统和利用程序由很多组件构成.组件是自包含的软件实体,该软件实体供应了一组可被各种利用程序遍及利用的函数.因为单独的组件被多个利用程序利用,所以组件的同享是很有必要的.
成功的全局组件同享要求任何同享的组件功效和该组件的先前版本完好一样.但是假如不能实现的话,要到达百分之百的向后兼容实际上是很难的,因为测试全部利用同享组件的配置是非常艰难的.新旧利用程序终究都利用相同的组件,因此,随着时间的推移,改正并改良这些组件变得越发艰难.
同时,组件的实际功效也不太简单定义.利用程序大概成为依靠在组件上的不测副作用,而不被认为是该组件核心功效一部份.比方,组件中的一个错误大概影响到利用程序,以及当组件开辟者挑选改正此错误时利用程序失利,这种情形就是人们常说的“DLL Hell(该死的 DLL)”.这使得那些利用组件的利用程序会越发深该问题的严重性.
这种贫乏向后兼容性的情形使得在布置新的利用程序时,必须中止已布置的利用程序,或是牺牲某些新利用程序的功效.全部新的利用程序都要求同享组件的版本与已配置的版本差别.要在加强利用程序安定性的同时供应成功的同享,Microsoft 已在 Windows 2000 和 Windows 98 第二版本中引入了并行同享,创始了通过挑选性断绝来同享组件的新方法.
一点后台知识
在理解并行同享的具体信息之前,让我们看一些后台资料以及“DLL Hell”的问题.
组件同享
Windows 最初就采取了同享的概念.全部操作系统都在供应安定性、完好的服务集的需求与操作系统所要求的硬件的资源限制的之间追求均衡.到目前为止, CPU 用量和磁盘空间仍旧是 PC 平台中非常慌张的资源.很明显,要将操作系统和利用程序代码装入到一个很小空间,必须尽大概地同享代码.与很多其他好处相比,代码同享加强了硬件资源的均衡应用,并且最大程度地削减在前期质量保证检测中表露的问题.代码同享是使 Windows 成功的要素之一.
Windows 的同享并不限于代码.利用程序和组件的状况,可以用注册表状况的情势、文件系统中的利用程序专用数据存储的情势和公开全局命名空间的 Windows API 的情势,在整个操作系统中找到.这类同享,在多个软件供应商生产的利用程序之间供应了高级别的互操作性,降低了本钱,提高了软件的效率.
但是,同享也必须付出一些代价.同享意味着利用程序彼此依靠,引入了脆弱性因素.更改某一组件会对其他组件产生无法意料的影响.典型的情形,一个利用程序大概依靠于同享组件的一个特定版本.而另一个利用程序大概是用该同享组件的进级(或降级)版本安装的,因此第一个利用程序大概受此更改的影响.在极度的情形下,曾经工作正常的利用程序会忽然功效混乱,乃至失利.这种情形普通称为“DLL Hell”.
断绝
在系统中,同享的背面是断绝.通过将全部资源和代码静态地绑定到利用程序,可以断绝利用程序.但是目前关于依靠于 COM 或其他全局存储的系统资源的利用程序来说,完好的断绝是不可行的.
削减利用程序脆弱性的一种办理办法是,有挑选地断绝利用程序和组件.在这种筹划中,全部利用程序大概都具有对相同组件的拜候权,但该组件目前有多个版本可用.组件开辟者有权编制旧组件的新版本、作一些改良或改正错误.而客户可以挑选合适于特定利用程序的版本.就像走进一个汽车配件商店为您的 1984 Chevy 挑选一个燃油泵一样.您会发现货架上的这个泵和一些比它晚来的实用于其他车型的泵并行放在一同.在利用组件的情形下,关键是供应合适于每个利用程序的版本并且断绝其他差别的版本.并且,在重定向的情形下,利用程序可以举行配置,以利用合适于该特定利用程序的组件版本,而不管近来开辟的或今后将要开辟那些版本.
以上是“实现利用程序中的并行组件同享(一)[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |