老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Linux中的静态库和动态库分别是什么?Linux运维学习

老男孩IT教育

常见问题

2021年7月16日 17:22

在Linux学习过程中,我们会接触到很多知识,本期为大家讲解下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运维学习中会涉及到很多的知识点,只会理论知识是远远不够的,要多实践,老男孩教育一直秉承保证教学质量才是硬道理的发展观,坚持做正确的事,用心帮助每一位学员通过在老男孩努力学习获得体面的工作和生活。

       推荐阅读:

       运维工程师必须要知道的Linux知识有哪些?Linux学习

       Linux各个分区的作用是什么?Linux入门

       debian相比ubuntu有哪些优势?Linux学习

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。