Linux中的动态链接库与静态链接库

来源:互联网 发布:淘宝申请退款怎么撤销 编辑:程序博客网 时间:2024/05/18 00:07

静态链接库是以.a结尾的文件,一般是用工具将多个.o文件合并到一起组成静态库

 

动态链接库是以.so结尾的文件,和windows下的dll文件类似。

 

静态链接库都可以在程序编译过程中用 -L参数来指定他们 -L/opt/lib/XXX.a

 

动态链接库一般是在LD_LIBRARY_PATH中来指定搜索路径,也可以在 -L/opt/lib 后面加一个 lXX,对应了lib中的XX.so文件

 

Linux中用来查看程序用到的库可以用ldd命令

 

如 : ldd ls,此时会显示ls命令需要的库文件

 

ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:

LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE等。

当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的dependency,

而程序并不真正执行

原创粉丝点击