一、库文件
预编译——>编译——>汇编——>链接(使用库)——>可执行文件
二、生成库:把大量的已经实现的代码打包起来
生成动态库:
1、将源码遍历汇编生成二进制指令
gcc -fPIC -c child.c -o child.o
2、将所有二进制文件打包到一起
gcc --shared child.o -o libmychild.so
linux下动态库命名:以lib作为前缀,以.so作为后缀,中间是库名
生成静态库:
gcc -c child.c -o child.o
ar -cr libmychild.a child.o
linux下静态库命名:以lib作为前缀,以.a作为后缀
三、使用库
第一种:
1、将库文件放到系统的存放库的位置 64位 /usr/lib64 32位 /usr/lib
2、gcc main.c -o main -lmychild -l + 库名
sudo cp libmychild.so /usr/lib64 复制到系统库中
gcc child.c -o child -lmychild 使用
第二种:环境变量
export LIBRARY_PATH=${LIBRARY_PATH}:./
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./gcc main.c -o main -lmychild
第三种:
gcc main.c -o main -L./ -lmychild