Linux中的动态链接库与静态链接库
生活随笔
收集整理的這篇文章主要介紹了
Linux中的动态链接库与静态链接库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
靜態鏈接庫是以.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,
而程序并不真正執行
總結
以上是生活随笔為你收集整理的Linux中的动态链接库与静态链接库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海雀推出智能摄像头X8 Pro+:海思双
- 下一篇: linux 其他常用命令