shared library是什麼東西?

2009-04-19 1:46 am
請教一下:(1)shared library是什麼東西?

(2)它與一般library有什麼不同?

(3)它的優點與缺點是什麼?

(4)shared library要怎麼做與怎麼使用?


若有強者可以解答此問題,一定有很多人可以受益,我也在此

請教這些問題,謝謝!
更新1:

不要用英文,因為我想要聽出個人對shared library的認知解釋. 不希望得到的是官方說法,而且是直接複製貼上的,謝謝!!

回答 (3)

2009-04-30 5:11 am
✔ 最佳答案
動態連結程式庫(Shared library)是在程式開始執行時才載入的,其優點在於(1)減少執行檔的大小,(2)更新程式庫而無需重新編譯其他程式,以及(3)甚至可在程式執行時更改程式庫。
在使用shared library前,你需要知道與shared library有關的名詞:
•soname:每一個shared library都有一個以「lib」開頭的程式庫名稱,然後加上程式庫的名稱,在名稱末端再加上「.so」,以及period(i.e. 「.」號)與版本號碼。一個全稱程式庫名稱(fully-qualified soname)應該是「libxxxx.so.N」,「xxxx」是程式庫名稱,「N」是版本號碼。
•real name:真正載有已編譯程式碼的檔案名稱,傳統上棋檔名要包含「lib」、程式庫名稱、「.so」、主次版本號碼及發佈版本號碼,例如「libxxxx.so.N1.N2.N3」。
•linker name:編譯器所搜尋的程式庫名稱,傳統上就是real name刪去所有版本號碼後的名稱,例如「libxxxx.so」
參考: 網路+自己
2009-04-19 7:13 am
1.可以在執行期動態載入,而非靜態的連結到程式上
2.可以在多個無關聯的程式之間共用
2009-04-19 5:21 am
Can I answer this in English?


收錄日期: 2021-04-30 12:54:41
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090418000010KK07770

檢視 Wayback Machine 備份