01 / 什么是库
命名规则:
Linux:libxxx.so
lib:前缀(固定)
xxx:库的名字,自己起
.so:后缀(固定)
在Linux下是一个可执行文件
Windows:libxxx.dll
动态库的制作:
- gcc 得到 .o 文件,得到和位置无关的代码
- gcc -c -fpic/-fPIC a.c b.c
- gcc 得到动态库
- gcc -shared a.o b.o -o libcalc.so
创建lesson06文件夹
gcc -c -fpic add.c div.c mult.c sub.c,生成add.0 div.o mult.o sub.o文件
gcc -shared add.o sub.o mult.o div.o -o libcalc.so,生成libcalc.so文件
cd..
cd library/
tree
cp ../calc/libcalc.so /lib/
gcc main.c -o main -I include/ -L lib/ -l calc
./main 报错!!!,后续章节会解决这个问题