日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Linux動(dòng)態(tài)庫(kù)編寫(xiě):從入門(mén)到精通(linux動(dòng)態(tài)庫(kù)編寫(xiě))

linux動(dòng)態(tài)庫(kù)編寫(xiě):從入門(mén)到精通

創(chuàng)新互聯(lián)建站是一家專(zhuān)業(yè)提供坪山企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為坪山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

Linux是當(dāng)今IT界使用最廣泛的開(kāi)源操作系統(tǒng),它在眾多領(lǐng)域都取得了巨大成功,其中包括應(yīng)用程序開(kāi)發(fā)。動(dòng)態(tài)庫(kù)(Dynamic Library)是為了支持若干領(lǐng)域應(yīng)用開(kāi)發(fā)而設(shè)計(jì)的共享文件,它可以把多個(gè)應(yīng)用程序從單一程序分離出來(lái),大大提高了靈活性和可重復(fù)使用率,也更加容易維護(hù)管理且減少了重復(fù)勞動(dòng)量。本文將深入介紹如何在Linux系統(tǒng)利用動(dòng)態(tài)庫(kù)進(jìn)行應(yīng)用程序的開(kāi)發(fā)。

第一步是了解Linux的動(dòng)態(tài)庫(kù),一般情況下,Linux操作系統(tǒng)中的動(dòng)態(tài)庫(kù)是一種共享庫(kù),也可以叫做共享對(duì)象,它是由程序的可執(zhí)行文件創(chuàng)建出來(lái)的。要想使用共享庫(kù),那么就必須先編譯鏈接,它將所有的程序組裝成可執(zhí)行文件,以找出它們依賴(lài)的外部函數(shù),并創(chuàng)建相應(yīng)的連接文件,生成可執(zhí)行文件。在編譯和鏈接程序過(guò)程中,動(dòng)態(tài)庫(kù)將被查詢(xún),并將相應(yīng)函數(shù)編譯進(jìn)可執(zhí)行文件中。

在Linux系統(tǒng)中,動(dòng)態(tài)庫(kù)一般以*.so(shared objects)為擴(kuò)展名。它們可以通過(guò)ldconfig命令加載到操作系統(tǒng)中去,而不必重新編譯程序。另外,Linux操作系統(tǒng)運(yùn)行時(shí),動(dòng)態(tài)庫(kù)的搜索路徑會(huì)被寫(xiě)入/etc/ld.so.conf,Linux動(dòng)載程序會(huì)根據(jù)該文件加載動(dòng)態(tài)庫(kù)。當(dāng)用戶(hù)登陸到操作系統(tǒng)時(shí),/sbin/ldconfig會(huì)在/etc/ld.so.conf中設(shè)置的路徑里搜索動(dòng)態(tài)庫(kù),每次改變動(dòng)態(tài)庫(kù),都需要執(zhí)行l(wèi)dconfig。

編寫(xiě)動(dòng)態(tài)庫(kù)的第二步就是編寫(xiě)動(dòng)態(tài)庫(kù)的源文件,由源文件(.c)、頭文件(.h)及Makefile文件組成,需要為每一個(gè)函數(shù)增加一個(gè)相關(guān)的.h文件,并提供一個(gè)函數(shù)定義。Makefile里需要指定編譯動(dòng)態(tài)庫(kù)的相關(guān)選項(xiàng),文件取得適當(dāng)?shù)哪K名和后綴名頭文件,以及對(duì)應(yīng)的庫(kù)文件位置等等。

第三步是用gcc命令編譯源文件,用于將源文件和其他所有的模塊編譯成一個(gè)可執(zhí)行文件上,可以使用以下語(yǔ)句進(jìn)行編譯:

gcc -fPIC -shared -o [output] source.c

其中,編譯選項(xiàng)-fPIC表示為生成Position Independent Code(PIC), -shared表示鏈接程序運(yùn)行時(shí)會(huì)被共享,而-o表示生成的輸出文件名。

最后,動(dòng)態(tài)庫(kù)文件需要安裝,將安裝文件拷貝和下載至指定目錄(/usr/local/lib),運(yùn)行l(wèi)dconfig以加載動(dòng)態(tài)庫(kù),以便隨著系統(tǒng)啟動(dòng)自行加載到操作系統(tǒng)中去。

以上就是Linux動(dòng)態(tài)庫(kù)的編寫(xiě),必須一步一步地按照給定的步驟來(lái)編譯,Link的過(guò)程。只要用戶(hù)明白每一步的意義,就可以輕松地編寫(xiě)出Linux動(dòng)態(tài)庫(kù),便于應(yīng)用程序的開(kāi)發(fā)。

創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級(jí)標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專(zhuān)注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶(hù)的一致認(rèn)可。


網(wǎng)頁(yè)題目:Linux動(dòng)態(tài)庫(kù)編寫(xiě):從入門(mén)到精通(linux動(dòng)態(tài)庫(kù)編寫(xiě))
瀏覽地址:http://www.5511xx.com/article/dpisgis.html