page contents

静态链接和动态链接有什么区别?

轩辕小不懂 发布于 2021-12-30 15:07
阅读 523
收藏 0
分类:C/C++开发
2777
Nen
Nen
- 程序员

静态链接是在编译链接时直接将需要的执行代码拷贝到调用处;

优点在于程序在发布时不需要依赖库,可以独立执行,缺点在于程序的体积会相对较大,而且如果静态库更新之后,所有可执行文件需要重新

链接;

动态链接是在编译时不直接拷贝执行代码,而是通过记录一系列符号和参数,在程序运行或加载时将这些信息传递给操作系统,操作系统负责

将需要的动态库加载到内存中,然后程序在运行到指定代码时,在共享执行内存中寻找已经加载的动态库可执行代码,实现运行时链接;

优点在于多个程序可以共享同一个动态库,节省资源;

缺点在于由于运行时加载,可能影响程序的前期执行性能。

请先 登录 后评论