<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x
    查看: 2927|回復: 0
    打印 上一主題 下一主題

    Linux的動態庫和靜態庫

    [復制鏈接]
    跳轉到指定樓層
    樓主
    發表于 2017-5-19 14:15:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    動態庫:libXXXX.so    shared object
    靜態庫:linXXXX.a    archive

    靜態庫在鏈接為可執行文件時就將靜態庫包含到可執行文件中了,所以可執行文件大,但不依賴所調用的靜態庫文件了,但是如果靜態庫文件變動了就要重新鏈接。
    在linux中靜態庫由ar命令生成,在windows或dos中,由lib命令生成。
    在linux系統中可用的庫都存放在/usr/lib和/lib目錄中。庫文件名由前綴lib和庫名以及后綴組成。根據庫的類型不同,后綴名也不一樣。
    共享庫的后綴名由.so和版本號組成,靜態庫的后綴名為.a。
    靜態庫的名字一般為libxxxx.a,其中xxxx是該lib的名稱
    動態庫的名字一般為libxxxx.so.major.minor,xxxx是該lib的名稱,major是主版本號,minor是副版本號

    動態庫在鏈接為可執行文件時在可執行文件中只是包含了所調用庫的名字和函數等的信息,需要在運行時有操作系統幫助實現具體的解析和調用,當然這是隱含式的調用動態庫中的函數,也可以顯式調用,就像windows中的loadlibrary和getprocessaddress以及linux中的dlopen和dlsym。
    在linux中動態庫由gcc編譯器生成,在windows中由編譯器生成。

    技術交流可以加黃工QQ2685896890
    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規則

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷