Linux中的动态链接库与静态链接库
生活随笔
收集整理的這篇文章主要介紹了
Linux中的动态链接库与静态链接库
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
靜態(tài)鏈接庫是以.a結(jié)尾的文件,一般是用工具將多個(gè).o文件合并到一起組成靜態(tài)庫
?
動(dòng)態(tài)鏈接庫是以.so結(jié)尾的文件,和windows下的dll文件類似。
?
靜態(tài)鏈接庫都可以在程序編譯過程中用 -L參數(shù)來指定他們 -L/opt/lib/XXX.a
?
動(dòng)態(tài)鏈接庫一般是在LD_LIBRARY_PATH中來指定搜索路徑,也可以在 -L/opt/lib 后面加一個(gè) lXX,對應(yīng)了lib中的XX.so文件
?
Linux中用來查看程序用到的庫可以用ldd命令
?
如 : ldd ls,此時(shí)會(huì)顯示ls命令需要的庫文件
?
ldd能夠顯示可執(zhí)行模塊的dependency,其原理是通過設(shè)置一系列的環(huán)境變量,如下:
LD_TRACE_LOADED_OBJECTS、 LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE等。
當(dāng) LD_TRACE_LOADED_OBJECTS環(huán)境變量不為空時(shí),任何可執(zhí)行程序在運(yùn)行時(shí),它都會(huì)只顯示模塊的dependency,
而程序并不真正執(zhí)行
總結(jié)
以上是生活随笔為你收集整理的Linux中的动态链接库与静态链接库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海雀推出智能摄像头X8 Pro+:海思双
- 下一篇: 无人值守网络安装Linux