Linux链接库

来源:互联网 发布:网络模式切换软件下载 编辑:程序博客网 时间:2024/06/05 22:48

参照

http://www.dwheeler.com/program-library/Program-Library-HOWTO/t1.html

1.静态链接库
gcc -c f.c
ar -r libf.a f.o
gcc main.c -lf

2.共享链接库
realname:代码编译而成的文件 libxx.so.1.0.0
soname:realname的符号链接 libxx.so.1 指定-Wl,-soname,libxx.so.1 自动生成
linker name:realname的符号链接 libxx.so

库的安装
gcc -shared -fpic -Wl,soname,libxx.so.1 f.c -o libxx.so.1.0.0
mv libxx.so.1.0.0 /usr/lib
ln -s libxx.so.1.0.0 libxx.so
ldconfig
用-lxx就可以编译了

ldd binaryfile 可以了解可执行文件使用库的情况

如果只是想临时使用库文件,可以执行gcc -Ldir

3.动态链接库
做插件时很管用,只是调用静态/共享库文件,没有别的本质内容,前面网页上讲的很清楚,不多写了
#include <dlfcn.h>
还有要注意编译的时候加上-ldl   

4.注意
编译之检查语法,生成机器指令,所以对库的加载出现在对目标指令的链接时