溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言 之建立動態(tài)鏈接庫

發(fā)布時間:2020-04-08 05:39:15 來源:網(wǎng)絡(luò) 閱讀:497 作者:飛寞 欄目:開發(fā)技術(shù)

下面我們建立一個動態(tài)鏈接庫。

回顧上篇文章講的建立靜態(tài)鏈接庫,我們把這幾個文件丟到一個新的目錄下:

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表示編譯的時候編譯成位置無關(guān)碼,然后可以被加載到任意地方去執(zhí)行

-shared的意思是共享庫方式

之后就進行makefile的編譯(注意makefile里的gcc前面的空白,是Tab鍵)


使用我們的鏈接庫:

你直接包含頭文件然后使用是不行的,一般你建立的 .so 文件不在它尋找的固定目錄下,有兩種方法可以解決

1、cp libtiaoshen.so /usr/lib即可,這是系統(tǒng)自帶的庫函數(shù)文件

2、使用環(huán)境變量export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:(后面跟上你的動態(tài)庫的路徑)

然后編譯:

gcc xu.c -o shen -ltiaoshen -L.

之后運行就可以了!


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI