五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C++基礎(chǔ)語(yǔ)法梳理:鏈接裝載庫(kù)丨Linux 的共享庫(kù)

2021-10-30 19:09 作者:C語(yǔ)言編程__Plus  | 我要投稿

Linux 的共享庫(kù)(Shared Library)

Linux 下的共享庫(kù)就是普通的 ELF 共享對(duì)象。

共享庫(kù)版本更新應(yīng)該保證二進(jìn)制接口 ABI(Application Binary Interface)的兼容

命名

libname.so.x.y.z

x:主版本號(hào),不同主版本號(hào)的庫(kù)之間不兼容,需要重新編譯

y:次版本號(hào),高版本號(hào)向后兼容低版本號(hào)

z:發(fā)布版本號(hào),不對(duì)接口進(jìn)行更改,完全兼容

路徑

大部分包括 Linux 在內(nèi)的開(kāi)源系統(tǒng)遵循 FHS(File Hierarchy Standard)的標(biāo)準(zhǔn),這標(biāo)準(zhǔn)規(guī)定了系統(tǒng)文件如何存放,包括各個(gè)目錄結(jié)構(gòu)、組織和作用。

/lib:存放系統(tǒng)最關(guān)鍵和最基礎(chǔ)的共享庫(kù),如動(dòng)態(tài)鏈接器、C 語(yǔ)言運(yùn)行庫(kù)、數(shù)學(xué)庫(kù)等

/usr/lib:存放非系統(tǒng)運(yùn)行時(shí)所需要的關(guān)鍵性的庫(kù),主要是開(kāi)發(fā)庫(kù)

/usr/local/lib:存放跟操作系統(tǒng)本身并不十分相關(guān)的庫(kù),主要是一些第三方應(yīng)用程序的庫(kù)

動(dòng)態(tài)鏈接器會(huì)在?/lib、/usr/lib?和由?/etc/ld.so.conf?配置文件指定的,目錄中查找共享庫(kù)

環(huán)境變量

LD_LIBRARY_PATH:臨時(shí)改變某個(gè)應(yīng)用程序的共享庫(kù)查找路徑,而不會(huì)影響其他應(yīng)用程序

LD_PRELOAD:指定預(yù)先裝載的一些共享庫(kù)甚至是目標(biāo)文件

LD_DEBUG:打開(kāi)動(dòng)態(tài)鏈接器的調(diào)試功能

so 共享庫(kù)的編寫(xiě)

使用 CLion 編寫(xiě)共享庫(kù)

創(chuàng)建一個(gè)名為 MySharedLib 的共享庫(kù)

CMakeLists.txt

library.h

library.cpp

so 共享庫(kù)的使用(被可執(zhí)行項(xiàng)目調(diào)用)

使用 CLion 調(diào)用共享庫(kù)

創(chuàng)建一個(gè)名為 TestSharedLib 的可執(zhí)行項(xiàng)目

CMakeLists.txt

main.cpp

執(zhí)行結(jié)果

今天的分享就到這里了,大家要好好學(xué)C++喲~

寫(xiě)在最后:對(duì)于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開(kāi)始!

微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地

C語(yǔ)言零基礎(chǔ)入門(mén)教程(83集全)

整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!



C++基礎(chǔ)語(yǔ)法梳理:鏈接裝載庫(kù)丨Linux 的共享庫(kù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
来安县| 邵东县| 建宁县| 海宁市| 怀化市| 格尔木市| 华宁县| 彭山县| 柳江县| 甘南县| 开化县| 阿拉善右旗| 寻乌县| 巫山县| 泸西县| 邓州市| 南和县| 东平县| 涞水县| 乐亭县| 凤翔县| 若尔盖县| 静宁县| 淄博市| 南昌县| 托克托县| 阿拉善左旗| 石阡县| 梅河口市| 墨江| 万全县| 曲阳县| 玉山县| 雷波县| 临泽县| 新邵县| 将乐县| 澳门| 贺州市| 阳城县| 北辰区|