生成静态库可以理解为将一个对.o文件的归档。将一个或多个.o文件打包生成.a文件。
可以使用ar工具,例如:
➜ test gcc -Wall -c hello.c -o hello.o
➜ test ar rcs libhello.a hello.o
➜ test ls -l libhello.a
-rw-rw-r-- 1 menwen menwen 1518 7月 16 14:33 libhello.a
// ar是gnu的归档工具
// rcs = replace、create、save
接下来就是将生成的.a库文件和调用库函数的文件生成可执行文件。
➜ test gcc -Wall main.c libhello.a -o main
➜ test ./main
hello world
这样生成可执行文件时要注意main.c libhello.a这两个文件的书写顺序,否则编译会出错。
还有一种方法来生成可执行文件,就是通过-l选项。例如:
➜ makefile gcc -Wall -L. main.c -o main -lhello
➜ makefile ./main
hello world
// -L.:-L选项来指定库的位置,在当前目录下