中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
如何理解Linux中的共享庫?

?在編程中,庫是可以在程序中重用的預編譯代碼片段的分類。庫為程序員簡化了生活,因為它們提供了可重用的函數(shù)、例程、類、數(shù)據(jù)結(jié)構(gòu)等(由另一個程序員編寫) ,可以在程序中使用。

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

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

Linux 支持兩類庫,即:

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

動態(tài)或共享庫——在程序啟動并加載到內(nèi)存中時加載,并在運行時進行綁定。

動態(tài)庫或共享庫可以進一步分為:

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

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

共享庫命名約定

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

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

在 Linux 中定位共享庫

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

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

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
靜態(tài)庫和動態(tài)庫
[原創(chuàng)]Linux系統(tǒng)中“動態(tài)庫”和“靜態(tài)庫”那點事兒
動態(tài)庫與靜態(tài)庫優(yōu)缺點比較
不同操作系統(tǒng)下的庫文件(如果有dll文件那么lib一般包含一些索引信息記錄dll中函數(shù)的入口和位置dll中是函數(shù)的具體內(nèi)容)
學習 Linux,101: 管理共享庫
程序運行時,是怎么找到動態(tài)庫的?
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服