动态连接库有什么作用

来源:百度知道 编辑:UC知道 时间:2024/05/16 14:45:30

使用静态连接库要事先把程序中所需要使用的函数编译成机器码,保存在*.lib文件中。编译器会去*.lib中找出所需要的函数,并把这些函数的机器码复制一份,放到可执行文件中。

动态连接库使用的是另外一种技术,它同样是把程序代码中会使用的函数编译成机器码,不过是保存在*.dll文件中。另外在编译时,不会把函数的机器码复制一份到可执行文件中。编译器只会在*.exe的执行文件里,说明所要调用的函数放在哪一个*.dll文件。程序执行使用到这些函数时,操作系统会把dll文件中的函数拿出来给执行文件使用。在unix/linux下也可以使用动态连接库,它们是放在*.a的文件中。

所以,不能看出dll如下优点:1)让执行文件变小;2)dll更新时不需要重新编译可执行文件;3)可以很方便的让一种语言,比如Fortran,的程序给其他语言,比如VC,使用。