最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
交城县| 大安市| 赤城县| 姜堰市| 牟定县| 阿鲁科尔沁旗| 鄢陵县| 车险| 泰顺县| 通江县| 宣城市| 布拖县| 全州县| 贵德县| 贺州市| 六枝特区| 云梦县| 中江县| 泽普县| 崇文区| 黄梅县| 桂林市| 惠来县| 濮阳县| 延边| 西林县| 新安县| 枞阳县| 密云县| 本溪市| 闻喜县| 读书| 九龙县| 新竹市| 常宁市| 曲沃县| 水城县| 石台县| 屏南县| 牟定县| 泾源县|