色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 動態庫和靜態庫的區別

動態庫和靜態庫的區別 時間:2018-09-26      來源:未知

一、什么是庫

本質上來說庫是一種可執行代碼的二進制形式,可以被操作系統載入內存執行。

二、庫的種類

linux下的庫有兩種:靜態庫和共享庫(動態庫)。

三、命名方式

靜態庫:lib庫名.a

動態庫:lib庫名.so

區分一個概念:庫是包含前綴lib以及后綴.a或者.so的一個整體

庫名是去掉前綴和后綴剩下的部分

四、動態庫和靜態庫的特點

靜態庫的特點:

1、使用靜態庫的時候,會將靜態庫的信息直接編譯到可執行文件中

2、優點:當靜態庫被刪除,對可執行文件沒有影響

3、缺點:浪費內存空間。如果靜態庫被修改,可執行程序要重新編譯

動態庫的特點:加載器在加載動態庫時,操作系統會先檢查動態庫是否因為其它程序已經將這個動態庫信息加載到了內存中。如果沒有加載到內存中,操作系統會將動態庫載入內存,并將它的引用計數設置為1;如果已經加載到內存,僅將動態庫的引用計數加1。

五、如何知道一個可執行程序依賴哪些庫

ldd命令可以查看一個可執行程序依賴的共享庫

例如# ldd + 路徑/可執行程序

六、創建靜態庫和動態庫的過程

靜態庫:a、創建.o文件

b、ar -cr lib庫名.a *.o

動態庫: a、創建.o文件 要使用-fpic選項

“-fpic”告訴GCC產生的代碼不要包含對函數和變量具體內存位置的引用,這是因為現在還無法知道使用該代碼的應用程序會將它連接到哪一段內存地址空間。這樣編譯出的hello.o可以被用于建立共享鏈接庫。

b、 gcc -shared -o lib庫名.so *.o

七、如何使用庫

靜態庫:

a、如果靜態庫放在系統目錄/lib或者/usr/lib下

執行方式為 gcc main.c -l庫名

b、如果靜態庫沒有放在系統目錄下則執行方式為執行 gcc main.c -L 靜態庫路徑 -l 庫名。或者執行gcc main.c 路徑/整個靜態庫

動態庫:

a、如果放在系統目錄下執行方式為 gcc main.c -l庫名

b、如果沒有放在系統目錄下執行方式分為兩種:

第一種:執行 gcc main.c -L 動態庫路徑 -l 庫名,不過這種方式在執行可執行程序的時候可能出現如下錯誤

./a.out: error while loading shared libraries: libadd.so: cannot open shared object file: No such file or directory

解決方式:

1、在/etc/bash.bashrc文件中添加export LD_LIBRARY_PATH=$LD_LRBRARY_PATH:動態庫的絕對路徑。后source /etc/bash.bashrc

2、在/etc/ld.so.conf.d目錄下創建一個以.conf為后綴的文件,在這個文件中添加上動態庫的絕對路徑,后執行sudo ldconfig

ldconfig命令的用途,主要是在默認搜尋目錄(/lib和/usr/lib)以及動態庫配置文件/etc/ld.so.conf內所列的目錄下,搜索出可共享的動態鏈接庫.

第二種:如果第一種的方式都配置完之后出現如下錯誤

/usr/bin/ld: cannot find -laddsub

collect2: ld returned 1 exit status

這種錯誤說明編譯器找不到需要鏈接的庫,則執行gcc main.c 動態庫路徑/動態庫

上一篇:排序與排序算法

下一篇:什么是棧?

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 青青草在线视频网站 | 爱爱精品屋 | asian日本java少妇乱子另类 | 无码国产一区二区三区四区公司 | 亚洲中文字幕永久在线不卡 | 欧美人与动xxxxz0oz小说 | 人妻丝袜无码专区视频网站 | 色国产精品女五丁香五月五月 | 久久这里只有精品国产免费10 | 俄罗斯兽交黑人又大又粗水汪汪 | 亚洲精品成人a在线观看 | 99精产国品一二三产区区别网站 | 人妻少妇AV无码一区二区 | 亚洲AV无码专区在线播放 | 黄色大片在线观看 | 国精产品999香蕉 | 国产毛片毛片毛片毛片毛片 | 国产偷国产偷亚洲清高动态图 | 老妇女性较大毛片 | 色欲AV蜜桃一区二区三 | 成人黄色免费观看 | av激情在线 | 中日韩精品无码一区二区三区 | 涩涩激情| 少妇人妻互换不带套 | 超清精品丝袜国产自在线拍 | 两个女人互添下身视频在线观看 | 日韩精品国产一区二区三区久久 | 久久日韩精品无码一区 | 狠狠婷婷色五月中文字幕 | 凸凹隐藏撒尿xxxx偷拍 | 好男人日本社区www 国产成人无码区免费内射一片色欲 | 最近免费中文高清在线观看 | 国产白嫩漂亮美女在线观看 | 亚洲精品久久久狠狠爱 | www.夜夜骑.com| 99久久久无码国产精品秋霞网 | 久操线在视频在线观看 | 精品无人区卡卡卡卡卡二卡三乱码 | 97SE亚洲国产综合自在线 | 最近在线更新8中文字幕免费 |