日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux学习笔记-动态库的使用

發(fā)布時間:2025/3/15 linux 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux学习笔记-动态库的使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

example.h
libexample.so

如下圖所屬:

現(xiàn)在寫一個.cpp

源碼如下:

main.cpp

#include "example.h"int main(){print(10,30);return 0; }

文件路徑如下:

編譯:
g++??‐c?main.cpp?‐o?main.o?
鏈接:
g++?main.o?‐o?helloworld?‐L.?‐lexample
鏈接選項:
‐lexample??使用libexample.so這個庫文件
‐L.??指定庫文件的位置

運行截圖如下:

?

./helloworld
通常會提示無法運行程序:
libexample.so:?...:?No?such?file?or?directo

操作系統(tǒng)默認從標準位置尋找相應的庫
/lib??/usr/lib??/usr/local/lib
如果沒有找到依賴的庫文件,則從
LD_LIBRARY_PATH環(huán)境變量里尋找。

?

先使用export命令設(shè)置環(huán)境變量,?然后再運行
程序。
export?LD_LIBRARY_PATH=.
./helloworld

如下圖:

這樣就闊以運行了,運行截圖如下:

拿到一個可執(zhí)行程序,怎么知道它依賴哪些庫呢?
readelf?‐d?helloworld

如下圖:

關(guān)鍵是看他的NEEDED屬性:

如:

libexample.so

libstc++.so

libm.so

libgcc_s.so

libc.so

?

檢索代碼!

ls /usr/lib | grep libstdc++

運行截圖如下:

總結(jié)

以上是生活随笔為你收集整理的Linux学习笔记-动态库的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。