linux下,一些關於動態庫的問題

2021-09-08 19:27:54 字數 1070 閱讀 4722

程式執行是載入動態庫的幾種方法:

第一種,通過ldconfig命令

ldconfig是乙個動態鏈結庫管理命令,為了讓動態鏈結庫為系統所共享,還需執行動態鏈結庫的管理命令它,ldconfig命令通常在系統啟動時執行,而當乙個使用者安裝我新的動態庫時,就需要手工執行這個命令。ldconfig命令的用途, 主要是在預設搜尋目錄(/lib和/usr/lib)以及動態庫配置檔案/etc/ld.so.conf內所列的目錄下, 搜尋出可共享的動態鏈結庫(格式如lib*.so*), 進而建立出動態裝入程式(ld.so)所需的連線和快取檔案. 快取檔案預設為/etc/ld.so.cache, 此檔案儲存已排好序的動態鏈結庫名字列表.

這裡面涉及到的關鍵內容有命令:ldconfig,配置檔案目錄:/etc/ld.so.conf.d,配置檔案在/etc/ld.so.conf內容由使用者編輯,緩衝檔案/etc/ld.so.cache。

第二種,通過ld_library_path環境變數

可以通過在.bashrc或者.cshrc中配置該環境變數,ld_library_path的意思是告訴loader在哪些目錄中可以找到共享庫. 可以設定多個搜尋目錄, 這些目錄之間用冒號分隔開.

第三種,通過編譯選項-wl, -rpath指定動態搜尋的路徑

-wl選項告訴編譯器將後面的引數傳遞給鏈結器。

當我們要想加入乙個動態庫時,可以在 /etc/ld.so.conf.d/ 目錄下建乙個*.conf檔案(為什麼在這裡面建呢,因為吧,/etc/ld.so.conf 檔案中已經包含了這一路徑,你可以開啟看看哦, include /etc/ld.so.conf.d/*.conf)。當然也在其它目錄下建立*.conf檔案,不過建完以後記得在 /etc/ld.so.conf 檔案中加入目錄。

還可以在變數ld_library_path 中,加入動態庫目錄,我一般都會在 ~/.bashrc 中寫入。

Linux下一些操作

b 1.解壓多個檔案 b 解壓當前目錄下的所有 tar.gz 結尾的檔案 for ark in tar.gz do tar xvf ark done 將檔名賦給ark。或者find name tar.gz exec tar xvf print b 2.軟體的安裝和刪除 b 安裝 sudo apt g...

Linux下一些目錄

linux是一款作業系統,裡面有很多目錄,下面是幾個在linux下很重要的目錄 proc 是乙個虛擬檔案系統,只存在記憶體當中,不占用外部空間,通過這個目錄可以獲得系統的資訊。bin 二進位制可執行檔案 usr bin 最基本的一些可執行檔案 系統自帶的 usr local bin 使用者自己安裝的...

關於動態庫靜態庫的一些事

首先先對編譯器中關於對原檔案,標頭檔案,庫等編譯相關的理解。其次理解靜態庫和動態庫的。最後在windows和linux下編譯靜態和動態庫,以及相應的使用。編譯器要編譯原始檔,標頭檔案,當然要將原始檔標頭檔案置入工程專案中 標頭檔案不一定,標頭檔案不一定放進工程中,只要保證原始檔include的時候能...