(1)将所有的.c文件生成.o文件
(2)makefile自动生成动静态库
1 libmymath.a libmy.so:add.o sub.o mul.o div.o 2 ar -rc libmymath.a $^ 3 gcc -fPIC -shared -o libmy.so $^ 4 add.o sub.o mul.o div.o:add.c sub.c mul.c div.c 5 gcc -c add.c -o add.o -g 6 gcc -c sub.c -o sub.o -g 7 gcc -c mul.c -o mul.o -g 8 gcc -c div.c -o div.o -g先编写一个test.c文件,里边用到该静态库中的函数
静态库(mymath.a): gcc test.c -I./ -L./ -lmymath
说明:-I 后边跟头文件的路径,如果不写,默认在当前目录下搜索
-L 后边跟库的路径 ,如果不写,默认在系统指定的目录下搜索
-l 后边跟库名,指定要用哪个库
动态库(my.so): 生成库后,首先设置环境变量 export LD_LIBRARY_PATH=动态库的搜索路径
gcc test.c -I./ -L./ -lmy
如果文件不存在,需要open创建,则第三个参数表示创建文件的默认权限,否则,使用两个参数