Linux中的静态库和动态库分别是什么?Linux运维学习
老男孩IT教育
常见问题
2021年7月16日 17:22
在Linux学习过程中,我们会接触到很多知识,本期为大家讲解下Linux系统中的静态库和动态库,两者虽然都是库,但也还是有些许不同的,我们需要对它有一定的了解,并且多加运用,我们的技术能力自然就会提升,下面来为大家简单的介绍下,请看下文:
在Linux学习过程中,我们会接触到很多知识,本期为大家讲解下Linux系统中的静态库和动态库,两者虽然都是库,但也还是有些许不同的,我们需要对它有一定的了解,并且多加运用,我们的技术能力自然就会提升,下面来为大家简单的介绍下,请看下文:
静态库是什么呢?
可以把它想象成是一些代码的集合,在可执行程序运行前就已经加到了代码中,成为了执行程序的一部分,一般是以.a为后缀的文件名,Windows下后缀为.lib。静态库的命名也分为三部分,1、前缀:lib,2、库的名称:随意,如lisi,3、后缀:.a。
静态库有什么优缺点呢?
上面简单介绍了静态库,那它自然也会有优缺点,这里来介绍下它的优缺点。
优点:1、在最后,函数库是被打包到应用程序中的,实现函数本地化、寻址方便、高效。2、程序在运行的时候,与函数库没有关系,移植性更强。
缺点:1、消耗资源较大,每个进程在使用静态库的时候,都要复制一份才可以,这也就造成了内存的消耗。2、在程序更新、部署、发布的时候,使用静态库相对麻烦,如果一个静态库更新了,那它的应用程序都需要重新编译,再发送给用户,有的时候可能只是一个小的改动,但对于用户来说,会导致整个程序重新下载。
动态库是什么呢?
在程序编译时不会被连接到目标代码中,在后期运行时才会载入,不同的应用程序如果调用相同的库,内存中只有一份共享库的拷贝,也就避免了空间的浪费问题。一般以.so作为文件后缀名,也分为三部分:1、前缀:lib,2、库名称:自定义,3、后缀:.so
动态库的优缺点:
优点:1、节省内存2、部署、升级相对方便,只需要更换动态库,再重新启动服务即可。
缺点:1、加载速度比静态库慢2、移植性较差,需要把所有用到的动态库进行移植。
Linux运维学习中会涉及到很多的知识点,只会理论知识是远远不够的,要多实践,老男孩教育一直秉承保证教学质量才是硬道理的发展观,坚持做正确的事,用心帮助每一位学员通过在老男孩努力学习获得体面的工作和生活。
推荐阅读:
