第一步,找到需要打開的.o后綴文件,見下圖,轉(zhuǎn)到下面的步驟。第二步,執(zhí)行完上面的操作之后,打開編譯器,并在此處使用c-free5,選擇新文件,并將其保存為cpp格式,見下圖,轉(zhuǎn)到下面的步驟。

成都創(chuàng)新互聯(lián)專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國(guó)電信/網(wǎng)通/移動(dòng)機(jī)房,西部信息機(jī)房服務(wù)有保障!
最簡(jiǎn)單配置就是把連接庫(kù)目錄,添加到/etc/ld.so.conf中,一行一個(gè)目錄就行,添加完成后,執(zhí)行#ldconfig更新動(dòng)態(tài)連接庫(kù)。
Step 由源文件編譯生成一堆.o,每個(gè).o里都包含這個(gè)編譯單元的符號(hào)表Step ar命令將很多.o轉(zhuǎn)換成.a,成為靜態(tài)庫(kù)動(dòng)態(tài)庫(kù)的后綴是.so,它由gcc加特定參數(shù)編譯產(chǎn)生。具體方法參見后文實(shí)例。
1、libc 和 lib-linux 這兩個(gè)最基本的庫(kù)都沒有,請(qǐng)問其他電腦上跑的是linux嗎?沒有這兩個(gè)庫(kù),沒有一個(gè)程序可以運(yùn)行。另外,不可能把已有的動(dòng)態(tài)庫(kù)“直接”轉(zhuǎn)換成靜態(tài)庫(kù),你只能從源碼編譯出靜態(tài)庫(kù)。
2、原因是rcS 比/etc/profile先運(yùn)行,rcS是一開機(jī)第一個(gè)運(yùn)行的,這時(shí)候你的庫(kù)還沒有被連進(jìn)來。建議把./myXX 放在/etc/profile 的末尾。
3、靜態(tài)庫(kù)在程序編譯時(shí)會(huì)被連接到目標(biāo)代碼中,程序運(yùn)行時(shí)將不再需要該靜態(tài)庫(kù)。 動(dòng)態(tài)庫(kù)在程序編譯時(shí)并不會(huì)被連接到目標(biāo)代碼中,而是在程序運(yùn)行是才被載入,因此在程序運(yùn)行時(shí)還需要?jiǎng)討B(tài)庫(kù)存在。
4、在程序更新、部署、發(fā)布的時(shí)候,使用靜態(tài)庫(kù)相對(duì)麻煩,如果一個(gè)靜態(tài)庫(kù)更新了,那它的應(yīng)用程序都需要重新編譯,再發(fā)送給用戶,有的時(shí)候可能只是一個(gè)小的改動(dòng),但對(duì)于用戶來說,會(huì)導(dǎo)致整個(gè)程序重新下載。
1、Linux下動(dòng)態(tài)庫(kù)文件的擴(kuò)展名為.so(Shared Object)。按照約定,所有動(dòng)態(tài)庫(kù)文件名的形式是libname.so(可能在名字中加入版本號(hào))。這樣,線程函數(shù)庫(kù)被稱作libthread.so。靜態(tài)庫(kù)的文件名形式是libname.a。
2、如果調(diào)用動(dòng)態(tài)庫(kù),那么動(dòng)態(tài)庫(kù)的函數(shù)是extern,程序當(dāng)中如果有函數(shù)和這個(gè)extern函數(shù)重名,鏈接的時(shí)候就已經(jīng)把程序內(nèi)部的這個(gè)函數(shù)和那個(gè)extern的函數(shù)連在一起了,根本沒有機(jī)會(huì)再去調(diào)用動(dòng)態(tài)庫(kù)的那個(gè)函數(shù)。糊涂了。
3、雖然動(dòng)態(tài)庫(kù)有點(diǎn)浪費(fèi)內(nèi)存,但是動(dòng)態(tài)庫(kù)最大的作用是:減少占用磁盤空間,減少開發(fā)時(shí)的編譯時(shí)間,而不是你想的編譯速度慢。因?yàn)椴捎昧藙?dòng)態(tài)庫(kù),所以如果我修改了動(dòng)態(tài)庫(kù),我只需要編譯動(dòng)態(tài)庫(kù)。
4、你先確認(rèn)一下 dlopen 和 dlsym 是否確實(shí)成功 (返回值是否為 NULL?)。估計(jì)其中某一步肯定失敗了,而你沒有檢查返回值,后面函數(shù)調(diào)用的時(shí)候自然就出段錯(cuò)誤了。從你自己的描述上看,代碼和操作本身沒有問題。
網(wǎng)頁名稱:linux動(dòng)態(tài)庫(kù)編譯命令 linux動(dòng)態(tài)庫(kù)的生成與使用
分享地址:http://chinadenli.net/article40/deosgeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、電子商務(wù)、微信公眾號(hào)、建站公司、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)