我们先简单的编写了一个add.c sub.c add.o sub.o main.c 函数
1 #include "add.h"
2
3 int add(int a,int b)
4 {
5 return a+b;
6 }
1 #include "sub.h"
2
3 int sub(int a,int b)
4 {
5 return a-b;
6 }
1 #ifdef __SUB_H
2 #define __SUB_H
3 int sub(int a,int b)
4
5 #endif
1 #ifndef __ADD_H
2 #define __ADD_H
3
4 int add(int a,int b);
5
6 #endif
1 #ifndef __ADD_H
2 #define __ADD_H
3
4 int add(int a,int b);
5
6 #endif
1 #include<stdio.h>
2 #include "add.h"
3 #include "sub.h"
4
5 int main()
6 {
7 int a=10;
8 int b=2;
9 printf("%d+%d=%d\n",a,b,a+b);
10 printf("%d-%d=%d\n",a,b,a-b);
11 }
一、静态库(快)
.o 的文件集合
如何制作?
ar -rc lib***.a .o
lib*** : 静态文件名
**** :静态库名

如何使用?
-l 库名
寻找库
-L 指定库的位置

制造动态库
gcc -fPIC(位置无关) -shared -o lib***.so *.c
编译
gcc main.c -L. -l***
运行动态库
(1) /lib
/user/lib
(2)export
LD_LIBRARY_PATH =.(指定到当前位置)
(3)
/etc/ld.so.conf.d/***.conf
ldconfig 刷新缓存