0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

動(dòng)態(tài)庫和靜態(tài)庫的制作步驟

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-27 11:00 ? 次閱讀

庫是一種可執(zhí)行的二進(jìn)制文件,是編譯好的代碼。使用庫可以提高開發(fā)效率。在 Linux 下有靜態(tài)庫和動(dòng)態(tài)庫。

靜態(tài)庫在程序編譯的時(shí)候會(huì)被鏈接到目標(biāo)代碼里面。所以程序在運(yùn)行的時(shí)候不再需要靜態(tài)庫了。因此編譯出來的體積就比較大。以 lib 開頭,以.a 結(jié)尾。

動(dòng)態(tài)庫(動(dòng)態(tài)庫也叫共享庫)在程序編譯的時(shí)候不會(huì)被鏈接到目標(biāo)代碼里面,而是在程序運(yùn)行的時(shí)候被載入的。所以程序在運(yùn)行的時(shí)候需要?jiǎng)討B(tài)庫了。因此編譯出來的體積就比較小。以 lib 開頭,以.so 結(jié)尾。

靜態(tài)庫的制作步驟:

編寫或準(zhǔn)備庫的源代碼

將源碼.c 文件編譯生成.o 文件

使用 ar 命令創(chuàng)建靜態(tài)庫

測(cè)試庫文件

動(dòng)態(tài)庫制作步驟:

編寫或準(zhǔn)備庫的源代碼

將源碼.c 文件編譯生成.o 文件

使用 gcc 命令創(chuàng)建動(dòng)態(tài)庫

測(cè)試庫文件

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11207

    瀏覽量

    208712
  • 靜態(tài)庫
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    7418
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux下動(dòng)態(tài)相關(guān)知識(shí)

    Linux 下有動(dòng)態(tài)和靜態(tài),動(dòng)態(tài)以.so為擴(kuò)展名,靜態(tài)
    的頭像 發(fā)表于 11-07 09:23 ?549次閱讀
    Linux下<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>庫</b>相關(guān)知識(shí)

    動(dòng)態(tài)和靜態(tài)的區(qū)別

    .so區(qū)分一個(gè)概念:是包含前綴lib以及后綴.a或者.so的一個(gè)整體名是去掉前綴和后綴剩下的部分四、動(dòng)態(tài)和靜態(tài)
    發(fā)表于 05-26 17:22

    Linux下動(dòng)態(tài)和靜態(tài)制作及使用

    一看都清楚明了。(2)ldd命令看動(dòng)態(tài),如果目標(biāo)程序沒有鏈接動(dòng)態(tài),則打印“not a dynamic executable” (不是動(dòng)態(tài)
    發(fā)表于 11-18 17:05

    Linux下靜態(tài)動(dòng)態(tài)制作與使用

    什么是靜態(tài)函數(shù)庫?動(dòng)態(tài)函數(shù)庫又是什么?linux靜態(tài)函數(shù)庫是怎樣創(chuàng)建并使用的?動(dòng)態(tài)函數(shù)庫是怎樣創(chuàng)建并使用的?
    發(fā)表于 04-26 06:45

    應(yīng)用程序所依賴的動(dòng)態(tài)和靜態(tài)沒有調(diào)試信息的原因

    的原因可能有這么幾個(gè):應(yīng)用程序在編譯時(shí)沒有指定-g選項(xiàng),導(dǎo)致可執(zhí)行程序沒有調(diào)試信息。應(yīng)用程序所依賴的動(dòng)態(tài)和靜態(tài)沒有調(diào)試信息。應(yīng)用程序的運(yùn)行時(shí)環(huán)境沒有調(diào)試信息,比如libc等。嵌入式
    發(fā)表于 11-05 06:41

    靜態(tài)動(dòng)態(tài)的相關(guān)知識(shí)

    靜態(tài)動(dòng)態(tài)筆記系列嵌入式系統(tǒng)方向?qū)W習(xí)筆記1嵌入式系統(tǒng)方向?qū)W習(xí)筆記2文章目錄靜態(tài)
    發(fā)表于 12-22 07:49

    靜態(tài)動(dòng)態(tài)的使用

    就比較小。以 lib 開頭,以.so 結(jié)尾。靜態(tài)制作步驟:編寫或準(zhǔn)備的源代碼將源碼.c 文件編譯生成.o 文件使用 ar 命令創(chuàng)建
    發(fā)表于 05-04 14:08

    Linux下靜態(tài)動(dòng)態(tài)(共享)的制作與使用

    Linux下靜態(tài)動(dòng)態(tài)(共享)的制作與使用Linux
    發(fā)表于 07-09 14:39 ?1143次閱讀

    動(dòng)態(tài)鏈接不為人知的秘密

    Linux 下有動(dòng)態(tài)和靜態(tài)動(dòng)態(tài)以.so為擴(kuò)展名,靜態(tài)
    的頭像 發(fā)表于 05-04 14:33 ?3553次閱讀
    <b class='flag-5'>動(dòng)態(tài)</b>鏈接<b class='flag-5'>庫</b>不為人知的秘密

    講解Linux虛擬機(jī)之使用動(dòng)態(tài)和靜態(tài)

    了解 Linux 如何使用,包括靜態(tài)動(dòng)態(tài)的差別,有助于你解決依賴問題。
    發(fā)表于 05-06 17:05 ?2147次閱讀
    講解Linux虛擬機(jī)之使用<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>庫</b><b class='flag-5'>和靜態(tài)</b><b class='flag-5'>庫</b>

    嵌入式Linux下動(dòng)態(tài)和靜態(tài)使用

    以下主要介紹Linux 下動(dòng)態(tài)、靜態(tài)、如何使用已有的動(dòng)態(tài), 以及如何
    發(fā)表于 11-01 16:57 ?1次下載
    嵌入式Linux下<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>庫</b><b class='flag-5'>和靜態(tài)</b><b class='flag-5'>庫</b>使用

    Linux下動(dòng)態(tài)和靜態(tài)制作與調(diào)用

    靜態(tài)是指在應(yīng)用中,有一些公共代碼需要反復(fù)使用,就把這些代碼編譯為“”文件;在鏈接步驟中,連接器將從文件取得所需的代碼,復(fù)制到生成的可執(zhí)
    的頭像 發(fā)表于 08-24 15:03 ?3674次閱讀
    Linux下<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>庫</b><b class='flag-5'>和靜態(tài)</b><b class='flag-5'>庫</b><b class='flag-5'>制作</b>與調(diào)用

    談一下動(dòng)態(tài)的構(gòu)建

    在編譯程序時(shí),使用動(dòng)態(tài)鏈接和靜態(tài)是一致的,使用”-l名”的方式,在生成可執(zhí)行文件的時(shí)候會(huì)鏈接
    的頭像 發(fā)表于 01-18 11:13 ?846次閱讀
    談一下<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>庫</b>的構(gòu)建

    C語言動(dòng)態(tài)靜態(tài)

    C語言動(dòng)態(tài)靜態(tài)
    的頭像 發(fā)表于 02-06 09:45 ?1323次閱讀

    靜態(tài)鏈接和靜態(tài)

    所謂靜態(tài)鏈接,就是把實(shí)現(xiàn)的代碼整合到最終的二進(jìn)制文件中,這樣的二進(jìn)制文件會(huì)比較大,因?yàn)槔锩婕劝俗约簩懙拇a,又包含了調(diào)用的的代碼。
    的頭像 發(fā)表于 02-08 14:17 ?839次閱讀