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

歡迎光臨散文網(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ó)家法律
云梦县| 巴青县| 汤阴县| 康平县| 房山区| 普兰县| 应用必备| 南充市| 黎平县| 兴和县| 天等县| 宝山区| 广平县| 随州市| 灵山县| 万荣县| 迁安市| 吉安县| 商丘市| 深泽县| 嘉荫县| 岳阳市| 普安县| 芒康县| 囊谦县| 称多县| 明光市| 崇信县| 信阳市| 滦南县| 麻江县| 砚山县| 临桂县| 全椒县| 托克托县| 高邑县| 西乌珠穆沁旗| 漯河市| 望江县| 苏尼特左旗| 伽师县|