在上篇文章中,是對靜態鏈接庫的介紹,其實有了上面的介紹動態鏈接庫的制作就簡單了,這篇來制作動態鏈接庫~~~
創建動態鏈接庫:
#gcc –shared –Wall –fPIC bar.o foo.o –olibfoobar.so
或手動指定庫路徑
$ gcc -o foobar main.c-llt -B /path/to/lib
這裡的-B 選項就添加 /path/to/lib 到gcc搜索的路徑之中。這樣鏈接沒有問題但是方法II中手動鏈接好的程序在執行時候仍舊需要指定庫路徑(鏈接和執行是分開的)。需要添加系統變量 LD_LIBRARY_PATH :
$ exportLD_LIBRARY_PATH=/path/to/lib
查看動態鏈接庫 和上次比 有發現沒~~~~~~
$ ldd test linux-gate.so.1 => (0xffffe000) libfoobar.so => /usr/lib/libfoobar.so (0xb7f58000) libc.so.6 => /lib/libc.so.6 (0xb7e28000) /lib/ld-linux.so.2 (0xb7f6f000)