静态链接库和动态链接库

静态链接库的优点

(1)     代码装载速度快,执行速度略比动态链接库快;
(2)     只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.LIB文件是否存在及版本问题,可避免DLL地狱等问题。


动态链接库的优点
(1)     更加节省内存并减少页面交换;
(2)     DLL文件与EXE文件独立,只要输出接口不变(即名称、参数、返回值类型和调用约定不变),更换DLL文件不会对EXE文件造成任何影响,因而极大地提高了可维护性和可扩展性;
(3)     不同编程语言编写的程序只要按照函数调用约定就可以调用同一个DLL函数。


不足之处
(1)     使用静态链接生成的可执行文件体积较大,包含相同的公共代码,造成浪费;如果在其中的一个使用函数中发现了错误,则必须重新编译和重新发布调用那个使用函数的每一个可执行文件。
(2)     使用动态链接库的应用程序不是自完备的,它依赖的DLL模块也要存在,如果使用载入时动态链接,程序启动时发现DLL不存在,系统将终止程序并给出错误信息。而使用运行时动态链接,系统不会终止,但由于DLL中的导出函数不可用,程序会加载失败;
(3)     使用动态链接库可能造成DLL地狱。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值