静态链接库 VS 动态链接库
2016-05-15 07:53
288 查看
1. 静态链接库的优点
(1) 代码装载速度快,执行速度略比动态链接库快;(2) 只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.LIB文件是否存在及版本问题,可避免DLL地狱等问题。
2. 动态链接库的优点
(1) 更加节省内存并减少页面交换;(2) DLL文件与EXE文件独立,只要输出接口不变(即名称、参数、返回值类型和调用约定不变),更换DLL文件不会对EXE文件造成任何影响,因而极大地提高了可维护性和可扩展性;
(3) 不同编程语言编写的程序只要按照函数调用约定就可以调用同一个DLL函数;
(4)适用于大规模的软件开发,使开发过程独立、耦合度小,便于不同开发者和开发组织之间进行开发和测试。
3. 不足之处
(1) 使用静态链接生成的可执行文件体积较大,包含相同的公共代码,造成浪费;(2) 使用动态链接库的应用程序不是自完备的,它依赖的DLL模块也要存在,如果使用载入时动态链接,程序启动时发现DLL不存在,系统将终止程序并给出错误信息。而使用运行时动态链接,系统不会终止,但由于DLL中的导出函数不可用,程序会加载失败;速度比静态链接慢。当某个模块更新后,如果新模块与旧的模块不兼容,那么那些需要该模块才能运行的软件,统统撕掉。这在早期Windows中很常见
相关文章推荐
- 开发人员、程序员与计算机科学家三者之间的区别
- 修复mysql数据库
- nodejs中的fiber(纤程)库详解
- 桌面中心(一)创建数据库
- 浅析C语言头文件和库的一些问题
- 桌面中心(三)修改数据库
- 目前流行的JavaScript库的介绍及对比
- 开发人员一定要加入收藏夹的网站 推荐
- MySql表、字段、库的字符集修改及查看方法
- 对Web开发人员有用的8个网站小结
- 11个并不被常用但对开发非常有帮助的Python库
- Python标准库与第三方库详解
- 工程师文化=好的福利?谈谈被大家误解的编码文化
- 实验九 模板与库使用
- Web开发人员常用速查手册推荐
- 开发人员一定要加入收藏夹的网站
- 开发者的自我修养:技术更新,方向明晰
- 【转】:C++ 库
- 提高开发人员工作效率的六大方法
- 今天我的ubuntu软件中心坏了,于是长生了一个想法。。。