2008年11月12日 星期三

生成動態函式庫與靜態函式的方法in linux

靜態函式庫的生成:

在LINUX底下我們可以利用ar程式(名稱就是因為它會產生archives)來幫我們建立靜態函式庫
方法如下:
$ar crv (函式庫名稱)註1 (obj檔1) (obj檔2) ......

範例:
假設我想把 bill.o fred.o 這兩個obj檔做成一個叫libfoo.a靜態函式庫我可以下這樣的指令
$ar crv libfoo.a bill.o fred.o

再來我們利用gcc這個編譯器來幫我們建立動態函式庫
方法如下:
$gcc -shared -o (函式庫名稱) (source檔1) (source檔2) .....

範例:
假設我想把bill.c fred.c 這兩個source檔做成一個叫libfoo.so動態函式庫我可以下這樣的指令
$gcc -shared -o libfoo.so bill.c fred.c

註1:當我們在取函式庫的名稱時有一定的命名方式,其命名方式如下:
lib(函式庫名稱).a //靜態函式庫
lib(函式庫名稱).so //動態函式庫


參考網站:
http://blog.yam.com/ytha/article/16636287

沒有留言: