Linux下库的制作和使用
静态库
命名规则: Linux:libxxx.a lib:前缀(固定) xxx:库的名字,自己起 .a:后缀(固定) Windows:libxxx.dll
制作静态库
步骤: 1.对源代码进行编译,使用 gcc -c 源代码.c文件,会生成.o文件
gcc -c add.c div.c sub.c mult.c
2.使ar工具进行打包。ar rcs 库文件的名称 所有的.o文件,会生成.a文件
ar rcs libcalc.a add.o sub.o mult.o div.o
使用静态库
步骤: 1.包含库文件的头目录.h,#include “.h” 2.在代码中,使用静态库中的函数或者其他的信息就可以了。 3.gcc编译的时候要链接静态库。
gcc main.c -o app -I ./include -l calc -L ./lib
大i 指定头文件的路径,-l 为指定 静态库的名称 , -L 为指定静态库的路径
动态库
命名规则: Linux:libxxx.so lib:前缀(固定) xxx:库的名字,自己起 .so:后缀(固定) Windows:libxxx.dll
制作动态库
步骤: 1.对源代码进行编译,使用 gcc -c -fpic 源代码.c文件,会生成.o文件,得到与位置无关的代码
gcc -c -fpic add.c div.c sub.c mult.c
2.gcc -shared 所有的.o文件,会生成.so文件
gcc -shared add.o div.o sub.o mult.o -o libcalc.so
使用动态库
步骤: 1.包含库文件的头目录.h,#include “.h” 2.在代码中,使用静态库中的函数或者其他的信息就可以了。 3.gcc编译的时候要链接动态库。
gcc main.c -o app -I ./include -l calc -L ./lib
大i 指定头文件的路径,-l 为指定 动态库的名称 , -L 为指定静态库的路径 4.ldd可以查看程序的依赖
ldd app
5.配置动态库的环境环境变量。 在home目录下,查看Vim .bashrc 增加一行
export LD_LIBRARY_PARH=$LD_LIBRARY_PATH:自己的动态库绝对目录
或者在系统中(/ect/profile)增加 或者 修改/etc/ld.so.cashe配置,需要修改/etc/ld.so.conf文件
|