麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

gcc 編譯動態(tài)庫及鏈接

2019-11-14 11:24:20
字體:
供稿:網(wǎng)友

1.testa.c

[cpp] view plain copy 在CODE上查看代碼片#include <stdio.h>  void Test_a()  {    #include <stdio.h>  void Test_b()  {    printf("This is Test_b!");  }  3.%20testc.c[cpp]%20view%20plain%20copy%20#include <stdio.h>  void Test_c()  {    printf("This is Test_c!");  }  4.%20testh.h[cpp]%20view%20plain%20copy%20void Test_a();  void Test_b();  void Test_c();  

5.%20main.c

[cpp]%20view%20plain%20copy%20#include "testh.h"  int main()  {    Test_a();    Test_b();    Test_c();    return 0;  }  現(xiàn)在,我們將三個test函數(shù)編譯為一個動態(tài)庫,使用一下命令:[plain]%20view%20plain%20copy%20gcc -fPIC -shared testa.c testb.c testc.c -o libtest.so  生成了libtest.so文件,其中,命令中

-shared該選項指定生成動態(tài)連接庫(讓連接器生成T類型的導(dǎo)出符號表,有時候也生成弱連接W類型的導(dǎo)出符號),不用該標(biāo)志外部程序無法連接。相當(dāng)于一個可執(zhí)行文件-fPIC:表示編譯為位置獨立的代碼,不用此選項的話編譯后的代碼是位置相關(guān)的所以動態(tài)載入時是通過代碼拷貝的方式來滿足不同進(jìn)程的需要,而不能達(dá)到真正代碼段共享的目的。

然后,通過通過命令

[plain]%20view%20plain%20copy%20gcc main.c -L. -ltest -omain  編譯生成應(yīng)用程序main,其中命令中

-L.:表示要連接的庫在當(dāng)前目錄中-ltest:編譯器查找動態(tài)連接庫時有隱含的命名規(guī)則,即在給出的名字前面加上lib,后面加上.so來確定庫的名稱

 %20 %20我們知道一個程序要想在內(nèi)存中運行,除了編譯之外還要經(jīng)過鏈接和裝入這兩個步驟。當(dāng)然linux中動態(tài)鏈接也是經(jīng)過這三個過程。Linux%20使用這個ld-linux.so*中的來裝載(其實這只是一個鏈接)其他庫。所以這個庫必須放在linux中/lib下。對于其他,通常我們共享庫放在/lib這個路徑下,而且也是系統(tǒng)默認(rèn)的搜索路徑。Linux共享庫的搜索路徑先后順序:1、編譯目標(biāo)代碼時指定的動態(tài)庫搜索路徑:在編譯的時候指定-Wl,-rpath=路徑2、環(huán)境變量LD_LIBRARY_PATH指定的動態(tài)庫搜索路徑3、配置文件/etc/ld.so.conf中指定的動態(tài)庫搜索路徑4、默認(rèn)的動態(tài)庫搜索路徑/lib5、默認(rèn)的動態(tài)庫搜索路徑%20/usr/lib

此處,我們使用了第2中方法來使用該動態(tài)庫,先執(zhí)行以下命令,設(shè)置LD_LIBRARY_PATH的值

[plain]%20view%20plain%20copy%20export LD_LIBRARY_PATH=.  之后,使用一下命令即可

[plain]%20view%20plain%20copy%20派生到我的代碼片./main 
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲视频观看 | 午夜影院日韩 | 舌头伸进添的我好爽高潮网站 | 久草免费资源视频 | 中文字幕一二三区芒果 | 国产亚洲精品综合一区91555 | 欧美日韩高清不卡 | 欧美日韩亚洲国产精品 | 成人三级电影在线 | 中文欧美日韩 | 国产亚洲精品久久久久久久久 | 极色品影院 | 成人一级视频 | 国产精品99爱 | 成人免费毛片在线观看 | 黄色视屏免费看 | 国产91精品亚洲精品日韩已满 | 亚洲国产中文字幕 | 偿还电影免费看 | 91香蕉国产亚洲一区二区三区 | 7777在线视频免费播放 | 久章草在线观看 | 久久精品国产亚洲7777小说 | 欧美韩国日本在线 | 久久久久亚洲美女啪啪 | 免费永久在线观看黄网 | 亚洲午夜视频 | 极品大长腿啪啪高潮露脸 | 欧美精品一区二区中文字幕 | 狠狠操视频网站 | 欧日一级片| 国产成人自拍小视频 | 99视频有精品视频高清 | 欧美一级一区二区三区 | 免费在线观看亚洲 | 日本在线免费观看 | 成人店女老板视频在线看 | 美国av在线免费观看 | 欧美顶级毛片在线播放小说 | 亚洲成人在线免费 | 欧美日韩亚洲在线观看 |