使用gcc生成動態庫及使用動態庫的方法
阿新 • • 發佈:2018-12-14
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