1. 程式人生 > >使用gcc生成動態庫及使用動態庫的方法

使用gcc生成動態庫及使用動態庫的方法

gcc常用編譯選項:

選項

含義
-static 連結靜態庫,禁止使用動態庫
-shared 進行動態庫編譯,連結動態庫
-Ldir 在動態庫的搜尋路徑中增加dir目錄
-lname 連結靜態庫(libname.a)或動態庫(libname.so)的庫檔案
-fPIC(或fpic) 生成使用相對地址無關的目的碼

方法一:

第一步:使用-shared引數生成動態庫,gcc -shared -fPIC -o libtest.so test.c     然後把libtest.so複製到/usr/lib64/系統路徑下

注意:生成的動態庫的名字必須是lib+名字.so,之後可以直接使用-ltest來引用動態庫。

第二步:編譯main.c,使用libtest.so動態庫,gcc -o main main.c -L/usr/lib64/ -ltest

方法二:

在編譯main.c,並連結libtest.so的時候,直接指定使用當前目錄下的libtest.so檔案,

使用命令:gcc -o main main.c ./libtest.so