2016 - 2024

感恩一路有你

动态库静态库区别 linux动态库和静态库的区别?

浏览量:1257 时间:2021-03-15 06:39:35 作者:admin

linux动态库和静态库的区别?

通常编译动态链接库和静态链接库来集成一系列接口(函数)

程序源代码编译后,它是由编译器编译并通过链接器链接到这些库中的

动态链接库和静态链接库的区别是链接器链接时静态链接库会直接编译到程序中

但是动态链接库不会被编译,这些链接库称为依赖关系(动态库和静态库)

程序的运行需要这些依赖关系。程序静态链接后,程序本身已包含此依赖项

但动态链接的程序本身不包含此依赖项。这些依赖项需要执行器将它们安装到操作系统中(动态库和运行时库)

这些库将在程序运行时动态加载

Linux动态库的一般后缀为。所以

静态库的一般后缀是。A

因为静态链接会直接将库编译到程序中,静态编译的程序比动态链接的程序大

这是因为静态链接会将链接库编译到程序中,所以占用的空间会更大

因此,如果有静态链接库,静态库不易维护和更新实现中的bug,整个程序需要更新,因为静态库被编译到程序中

而动态库没有这种情况,因为动态库是在程序运行时动态加载的,所以我们只需要更新动态库,而不需要更新所有依赖该库的程序(软件)

]另一方面,许多程序开发都会使用相同的方法链接库,也就是说,许多程序(软件)将具有相同的依赖关系

如果所有这些依赖关系都是静态编译的,它会造成存储资源的过度消耗和资源的浪费

并且通过使用动态库,这些程序(软件)可以共享一个链接库,而每个程序都没有链接库,这大大减少了存储资源的消耗空间

Linux中有两种函数库:静态库共享库(动态库)。静态库的代码在编译时与开发人员的应用程序相连接,动态库的实际程序在运行时加载。由于动态库不包含库函数的实现代码,而只包含对函数库的引用,程序代码规模相对较小,并且动态库的扩展由它组成。所以。和版本号,静态链接库包括。你可能测试不一样,实现代码,可能不一样。动态库通常做得很好,而且通常比静态库好。当然,这些功能已经实现了。我想我不太熟悉的时候最好用动态库。因为,如果你的静态库被多次调用,在内存中,会有很多你调用的静态库实现代码,这些代码会被重复,浪费内存,动态链接库和静态链接库通常编译成一系列接口(函数)的集成。程序源代码编译后,由编译器编译并通过链接器与这些库链接。动态链接库和静态链接库的区别在于,当链接器链接时,静态链接库会直接编译到程序中,而动态链接库不会有的链接库称为依赖关系(动态链接库和静态链接库)。程序的运行需要这些依赖关系。程序静态链接后,程序本身包含依赖项,而动态链接的程序本身不包含依赖项。这些依赖关系需要执行者自己将它们安装到操作系统(动态库和运行库)中。当程序运行时,Linux上的动态库将被动态加载,一般后缀为。所以,静态库的一般后缀是。A.由于静态链接将库直接编译到程序中,因此静态编译的程序比动态链接大。这是因为静态链接会将链接库编译成程序,所以占用空间会很大。因此,静态库不易维护和更新,如果链接库中有实现Bu,则静态库被编译到程序中,而动态库则不是。因为动态库是在程序运行时动态加载的,所以我们只需要更新动态库,而不需要更新依赖于动态库的所有程序(软件)。另一方面,许多程序开发将使用相同的链接库,即许多程序(软件)将具有相同的依赖关系。如果所有这些依赖项都是静态编译的,则会导致过多的存储资源和资源浪费。通过使用动态库,这些程序(软件)可以共享一个链接库,而不是每个程序共享一个链接库,这大大减少了存储资源

动态库静态库区别 编译过程中分哪几个阶段 linux静态库和动态库的区别

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。