【Linux开发】静态库和共享库开发

Linux系统中以.a为后缀的文件都为静态库,以.so为后缀的文件都为共享库

1. 创建静态库

1) gcc -c xxx.c 生成.o文件

2) ar -r lib静态库名.a xxx.o ...

3) 使用静态库

将静态库文件 libxxx.a所在的路径配置到环境变量LIBRARY_PATH下

3) 连接静态库

gcc xxx.o -l静态库名

如果环境变量LIBRARY_PATH没有配置静态库的路径,可直接连接:

gcc xxx.o -l静态库名 -L 静态库文件所在路径

还可以直接连接:gcc xxx.o libxxx.a

nm libku.a //查看libku静态库文件的内容

2. 共享库

1) 创建共享库

gcc -c -fpic xxx.c ... 生成目标xxx.o

gcc -shared xxx.o -o lib库名.so

2) 使用共享库

a. 连接

gcc xxx.o -l库名 -L 共享路径

或者把共享库文件所在的路径配置到环境变量LIBRARY_PATH

b. 运行

a.out 要求共享库在LD_LIBRARY_PATH环境变量指定的路径下能找到共享库文件

ldd 列出共享库的依赖关系

lib testdku //查看运行testdku都用到哪些动态库

你可能感兴趣的:(Linux)