久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

如何理解Linux中的共享庫(kù)?

 新潮看世界 2022-07-19 發(fā)布于北京

?在編程中,,庫(kù)是可以在程序中重用的預(yù)編譯代碼片段的分類,。庫(kù)為程序員簡(jiǎn)化了生活,因?yàn)樗鼈兲峁┝丝芍赜玫暮瘮?shù),、例程,、類、數(shù)據(jù)結(jié)構(gòu)等(由另一個(gè)程序員編寫(xiě)) ,,可以在程序中使用,。

例如,如果您正在構(gòu)建一個(gè)需要執(zhí)行數(shù)學(xué)操作的應(yīng)用程序,,您不必為此創(chuàng)建新的數(shù)學(xué)函數(shù),,您可以簡(jiǎn)單地使用該編程語(yǔ)言庫(kù)中的現(xiàn)有函數(shù)。

Linux 中的庫(kù)包括 libc (標(biāo)準(zhǔn) C 庫(kù))或 Glibc (標(biāo)準(zhǔn) C 庫(kù)的 GNU 版本),、 libcurl (多協(xié)議文件傳輸庫(kù)),、 libcrypt (用于加密,、哈希和 C 編碼的庫(kù))等等。

Linux 支持兩類庫(kù),,即:

靜態(tài)庫(kù)-在編譯時(shí)被靜態(tài)地綁定到程序,。

動(dòng)態(tài)或共享庫(kù)——在程序啟動(dòng)并加載到內(nèi)存中時(shí)加載,并在運(yùn)行時(shí)進(jìn)行綁定,。

動(dòng)態(tài)庫(kù)或共享庫(kù)可以進(jìn)一步分為:

動(dòng)態(tài)鏈接庫(kù)——這里程序與共享庫(kù)鏈接,,內(nèi)核在執(zhí)行時(shí)加載庫(kù)(如果它不在內(nèi)存中)。

動(dòng)態(tài)加載庫(kù)——程序通過(guò)調(diào)用庫(kù)函數(shù)來(lái)獲得完全控制權(quán),。

共享庫(kù)命名約定

共享庫(kù)有兩種命名方式: 庫(kù)名(a.k.a soname)和“文件名”(存儲(chǔ)庫(kù)代碼的文件的絕對(duì)路徑),。

例如,libc 的 soname 是 libc.so.6: 其中 lib 是前綴,,c 是描述性名稱,,所以意味著共享對(duì)象,6是版本,。它的文件名是:/lib64/libc.so.6,。注意,soname 實(shí)際上是指向文件名的符號(hào)鏈接,。

在 Linux 中定位共享庫(kù)

共享庫(kù)由 ld.so (或 ld.so.x)和 ld-linux 加載,。So (或 ld-linux.so.x)程序,其中 x 是版本,。在 Linux 中,/lib/ld-Linux.so.x 搜索并加載程序使用的所有共享庫(kù),。

程序可以使用庫(kù)名或文件名調(diào)用庫(kù),庫(kù)路徑存儲(chǔ)庫(kù)可以在文件系統(tǒng)中找到的目錄,。默認(rèn)情況下,,庫(kù)位于/usr/local/lib、/usr/local/lib64,、/usr/lib 和/usr/lib64中; 系統(tǒng)啟動(dòng)庫(kù)位于/lib 和/lib64中,。然而,程序員可以在自定義位置安裝庫(kù),。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多