设为首页 加入收藏

TOP

22.1.2 动态链接库的优点
2013-10-07 13:11:17 来源: 作者: 【 】 浏览:68
Tags:22.1.2 动态 链接 优点

22.1.2  动态链接库的优点

因为动态链接库是将功能封装在一起的模块,因此,与将代码直接写入调用模块中相比,它不仅可以提高程序的复用,减少代码开发工作量,同时使得功能更新更方便。除了这些模块化带来的优点外,动态链接库的工作方式也决定了它先天具有比静态链接更多的优点,如下所述。

节约内存和减少交换:当应用程序使用动态链接时,多个进程可以同步使用一个DLL共享内存中DLL的单个副本。相比之下,当应用程序使用静态链接库时,Windows必须为每个应用程序装载一个库代码的副本到内存中。

节约磁盘空间:当应用程序使用动态链接时,多个应用程序可以共享磁盘上单个DLL副本。相比之下,当应用程序使用静态链接库时,每个应用程序要将库代码作为独立的副本链接到可执行镜像中。

当DLL中的函数修改时,只要函数参数、调用规定和返回值没有改变,使用DLL的应用程序不需要重新编译或链接。而静态链接的函数改变时,需要应用程序重新链接。

支持多语言编程(www.cppentry.com):只要应用程序遵循相同的调用规范,则使用不同编程(www.cppentry.com)语言编写的程序可以调用相同的DLL函数。程序和DLL函数必须兼容:函数定义的参数入栈顺序,函数或应用程序谁来负责清理堆栈,参数是否传入寄存器中等方面必须兼容。

轻松的创建中间版本:通过将资源放入DLL中,使得创建应用程序的中间版本非常简单。如可以将应用程序的每个语言版本的字符串放到单独的一个资源DLL中,并为不同的语言版本装载合适的资源DLL就可以了。

虽然使用DLL有诸多的优点,但是也需要格外注意使用DLL的缺点。即调用DLL的应用程序不是独立的,程序的运行依赖于所使用的DLL是否存在。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇22.2.1 Win32 DLL的创建 下一篇22.1.1 动态链接库的概念

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: