一、静态库和共享库
(1)、静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。
(2)、共享库(.so或.sa):程序在运行的时候才去链接共享库的代码,多个程序共享使用库的代码。
二、生成
(1)、生成共享库
–编译选项
shared: 表示生成共享库格式
fpic:产生位置无关码(position independent code)
–库名规则:lib+xxx+版本号.so
–示例:gcc –shared –fpictest.o –o libTest.so
若有版本号,需带上版本号码
(2)、使用共享库
–编译选项
l:链接共享库,只要库名即可(去掉lib)
L:链接库所在的路径.(指定so路径)
–示例:
gcc –o test –L./ -lTest
三、运行共享库设置
(1)、拷贝.so文件到系统共享库路径下
–一般指/usr/lib /user/local/lib
(2)、ldconfig
–ld.so.conf
–ldconfig
–更新ld.so.cache
(3)、更改LD_LIBRARY_PATH