静态链接和动态链接的区别
2016-08-12 11:25
323 查看
静态链接:
静态链接是指要把调用的函数或过程直接拷贝到可执行文件中,成为可执行文件的一部分。
缺点:
当多个程序都要调用相同函数时,内存中就会有多个拷贝,浪费了内存资源。
优点:
执行速度快,执行程序能够在其他操作系统的机器上直接运行。
动态链接:
动态链接是所调用的函数代码并没有拷贝到应用程序的可执行文件中,而是仅仅在其中加入了所调用函数的描述信息。当运行时,才与相应的动态链接库之间建立连接关系。
缺点:
因为执行时才才建立连接关系,所以执行速度慢;程序移植时,要将所需的dll文件都要拷贝过去。
优点:
当程序中调用多次时,内存中只有一份拷贝,节省内存资源。
在客户端软件需要升级时,动态连接库尤为重要,因为只需把升级所需的库文件传输过去进行动态链接就可以。
而静态库的话,就需要把所有程序重新下载编译。
静态链接是指要把调用的函数或过程直接拷贝到可执行文件中,成为可执行文件的一部分。
缺点:
当多个程序都要调用相同函数时,内存中就会有多个拷贝,浪费了内存资源。
优点:
执行速度快,执行程序能够在其他操作系统的机器上直接运行。
动态链接:
动态链接是所调用的函数代码并没有拷贝到应用程序的可执行文件中,而是仅仅在其中加入了所调用函数的描述信息。当运行时,才与相应的动态链接库之间建立连接关系。
缺点:
因为执行时才才建立连接关系,所以执行速度慢;程序移植时,要将所需的dll文件都要拷贝过去。
优点:
当程序中调用多次时,内存中只有一份拷贝,节省内存资源。
在客户端软件需要升级时,动态连接库尤为重要,因为只需把升级所需的库文件传输过去进行动态链接就可以。
而静态库的话,就需要把所有程序重新下载编译。
相关文章推荐
- 静态链接与动态链接的区别
- 静态链接与动态链接的区别
- System.Data.SQLite使用,静态与动态链接的区别,Bundle与非Bundle区别,同时兼容32位与64位,加密
- 静态链接与动态链接的区别
- 静态链接与动态链接的区别(转载)
- 动态链接项目DLL与静态链接项目LIB的构建和使用区别
- 静态链接与动态链接的区别
- 静态链接与动态链接的区别
- 静态链接与动态链接的区别
- 静态链接与动态链接的区别
- 静态链接与动态链接的区别
- 静态链接与动态链接的区别
- 静态链接和动态链接的区别
- 静态连接和动态链接有什么区别?
- 静态链接与动态链接的区别
- 静态链接与动态链接的区别 与 动态库与静态库的区别
- 静态链接与动态链接的区别
- 静态链接与动态链接的区别
- 静态链接到MFC的DLL 和 动态连接到MFC的DLL 的区别
- 静态链接和动态链接的区别