欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1696|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

靜態(tài)庫和動態(tài)庫的制作和使用-IMX6開發(fā)板新增ubuntu16_安卓6.0_新增Yocto_...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:151620 發(fā)表于 2019-8-6 15:54 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
因為我們在寫代碼的時候,不可能每個代碼都要重新開始寫,我們可以使用別人寫好的,成熟的代碼,所以,庫的存在就變得非常有意義。linux的下的庫主要有倆種,一個是動態(tài)庫,一個是靜態(tài)庫。
1簡介
      將一個程序編譯成可執(zhí)行程序要經(jīng)過預(yù)編譯,編譯,匯編,和鏈接這個幾個步驟,而動態(tài)庫和靜態(tài)庫的主要區(qū)別就是在鏈接階段怎么處理這些庫。
       靜態(tài)庫在程序編譯的時候會被鏈接到目標(biāo)文件當(dāng)中,在程序運行的時候不在需要這些庫,程序移植方便,但是更新會很麻煩,可執(zhí)行文件比較大,浪費空間,而動態(tài)庫在編譯的時候并不會鏈接到目標(biāo)文件中去,所以程序在運行的時候還需要這些動態(tài)庫的存在。可執(zhí)行程序比較小,但是程序在運行的過程中必須提供相應(yīng)的庫。

2實驗操作
實驗一:靜態(tài)庫的制作和使用
實驗?zāi)繕?biāo):制作一個靜態(tài)庫并使用。
實驗內(nèi)容:
靜態(tài)庫的制作主要有以下幾個步驟:
1,生成目標(biāo)文件。
2,使用ar命令創(chuàng)建靜態(tài)函數(shù)庫。
命名規(guī)則:
必須是lib[庫的名字].a,括號里面的為你的庫的名字,擴展名為.a
使用方法:
在使用gcc編譯的時候加上參數(shù)-L 和你的庫的路徑和你要鏈接的庫。
我們創(chuàng)建一個文本并輸入以下代碼。

將這個文件放進ubuntu中。生成目標(biāo)文件,輸入以下命令:

輸入以下命令創(chuàng)建靜態(tài)庫, -c是創(chuàng)建的意思,-是替換的意思。

在當(dāng)前目錄創(chuàng)建一個文件輸入以下代碼:

接著在ubuntu上編譯這個程序,編譯的時候鏈接我們上面那生成的庫,輸入以下命令:

實驗二:動態(tài)庫的制作和使用
實驗?zāi)繕?biāo):制作一個動態(tài)庫并使用。
實驗內(nèi)容:
動態(tài)庫的制作主要有以下幾個步驟:
1,生成目標(biāo)文件。
2,生成動態(tài)庫。
命名規(guī)則:
lib[庫的名字].so,括號里面的為你的庫的名字,擴展名為.so
使用方法:
將生成的庫放在/usr/lib 或者 /lib下面去。
在實驗一的lib.c基礎(chǔ)上,輸入下圖命令,-fPIC表示與源碼位置無關(guān),-shared 生成動態(tài)庫

編譯test.c。輸入以下命令

運行可執(zhí)行文件test發(fā)現(xiàn)不可以運行成功,提示如下:

因為Linux會默認(rèn)在/usr/lib 或者 /lib下面找,但是我們的庫并不在這倆個路徑下面,我們將我們生成的庫拷貝到/usr/lib下面去,然后我們在運行我們程序。

運行程序:

3實驗分析
通過實驗我們可以發(fā)現(xiàn),使用動態(tài)庫編譯生成的可執(zhí)行文件要比靜態(tài)庫的要小。
使用動態(tài)庫:

使用靜態(tài)庫:

另外我們在編譯的時候參數(shù)-L 是用來指定庫的搜索路徑,-l是用來指定要鏈接的庫的名字.

這個庫的名稱是什么,就是我們起的庫的名字,如下:

開發(fā)利器:迅為IMX6開發(fā)板 新增ubuntu16,安卓6.0,新增Yocto,新增設(shè)備樹相關(guān)歷程

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:245207 發(fā)表于 2019-9-24 09:54 | 只看該作者
學(xué)習(xí)了,多謝分享內(nèi)容
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表