linux动态库链接顺序(linux动态库的链接)-编程之家

linux动态库版本不一致怎么办?

linux动态库版本不一致需要重新安装版本一致的动态库

linux静态库和动态库有什么区别?

动态链接库和静态链接库一般是编译集成一系列的接口(函数)在程序源代码编译完成后通过编译器编译并通过链接器与这些库进行链接动态链接库与静态链接库的区别在于链接器在进行链接时静态库会被直接编译进程序里而动态链接库并不会,我们这里将这些链接库称作依赖(动态库和静态库)程序的运行需要这些依赖,程序在静态链接后该程序本身便已包含该依赖而动态链接后的程序本身本不包含该依赖,这些依赖需要执行者自行安装进操作系统(动态库、运行时库)程序运行时会动态地加载这些库linux上动态库一般的后缀后为.so静态库一般的后缀为.a由于静态链接会直接将库编译进程序里所以静态编译后的程序相较于动态链接所要大这就是因为静态链接会将链接库编译进程序里的原因,所以占用就要大了出于这种原因,静态库不易于维护与更新,如果链接库中有实现有bug等需要更新则需要更新整个程序,因为静态库被编译进程序中了但动态库就没有这种情况了,因为动态库是程序运行时动态加载的,所以我们只需要更新动态库而不需要更新所有依赖该库的程序(软件)另一方面,很多程序的开发都会使用到相同的链接库,也就是很多程序(软件)会有相同的依赖如果将这些依赖全部静态编译的话将会造成存储资源占用过多而造成资源浪费而使用动态库的方式这些程序(软件)则可以共享一个链接库,而不需要每个程序都带一个链接库,这样就大大地减少了存储资源占用空间