您好,登錄后才能下訂單哦!
下面我們建立一個動態鏈接庫。
回顧上篇文章講的建立靜態鏈接庫,我們把這幾個文件丟到一個新的目錄下:
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表示編譯的時候編譯成位置無關碼,然后可以被加載到任意地方去執行
-shared的意思是共享庫方式
之后就進行makefile的編譯(注意makefile里的gcc前面的空白,是Tab鍵)
使用我們的鏈接庫:
你直接包含頭文件然后使用是不行的,一般你建立的 .so 文件不在它尋找的固定目錄下,有兩種方法可以解決
1、cp libtiaoshen.so /usr/lib即可,這是系統自帶的庫函數文件
2、使用環境變量export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:(后面跟上你的動態庫的路徑)
然后編譯:
gcc xu.c -o shen -ltiaoshen -L.
之后運行就可以了!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。