下面我們建立一個(gè)動(dòng)態(tài)鏈接庫。
創(chuàng)新互聯(lián)是專業(yè)的平?jīng)鼍W(wǎng)站建設(shè)公司,平?jīng)鼋訂?提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行平?jīng)鼍W(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!回顧上篇文章講的建立靜態(tài)鏈接庫,我們把這幾個(gè)文件丟到一個(gè)新的目錄下:
makefile tiaoshen.c mmc.h xu.c
你也可以自己建立新的文件,這里不再贅述。
makefile文件中改成
all:
gcc tiaoshen.c -o tiaoshen.o -c -fPIC
gcc -o libtiaoshen.so tiaoshen.o -shared
-FPIC表示編譯的時(shí)候編譯成位置無關(guān)碼,然后可以被加載到任意地方去執(zhí)行
-shared的意思是共享庫方式
之后就進(jìn)行makefile的編譯(注意makefile里的gcc前面的空白,是Tab鍵)
使用我們的鏈接庫:
你直接包含頭文件然后使用是不行的,一般你建立的 .so 文件不在它尋找的固定目錄下,有兩種方法可以解決
1、cp libtiaoshen.so /usr/lib即可,這是系統(tǒng)自帶的庫函數(shù)文件
2、使用環(huán)境變量export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:(后面跟上你的動(dòng)態(tài)庫的路徑)
然后編譯:
gcc xu.c -o shen -ltiaoshen -L.
之后運(yùn)行就可以了!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。