把它们搁到一个文件夹下,然后:
$ ls ls 是列印当前目录下的文件
data.c func.c main.c p.h
$ gcc -c data.c func.c 编译
$ ls 生成的 *.o 是目标代码
data.c data.o func.c func.o main.c p.h
$ ar rs libtest.a *.o 把它们打包成静态库
ar: creating libtest.a
$ ls
data.c data.o func.c func.o libtest.a main.c p.h
$ gcc main.c -L. -ltest 用 -L. 指示库在当前文件夹, -ltest 指示库的名字是 libtest.a
$ ls 可执行文件就是那个 a.out
a.out data.c data.o func.c func.o libtest.a main.c p.h
$ ./a.out 跑跑看,没问题
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 4
a[4] = 5
$
data.c func.c main.c p.h
$ gcc -c data.c func.c 编译
$ ls 生成的 *.o 是目标代码
data.c data.o func.c func.o main.c p.h
$ ar rs libtest.a *.o 把它们打包成静态库
ar: creating libtest.a
$ ls
data.c data.o func.c func.o libtest.a main.c p.h
$ gcc main.c -L. -ltest 用 -L. 指示库在当前文件夹, -ltest 指示库的名字是 libtest.a
$ ls 可执行文件就是那个 a.out
a.out data.c data.o func.c func.o libtest.a main.c p.h
$ ./a.out 跑跑看,没问题
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 4
a[4] = 5
$