静态库:是在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行的,后缀名:.a
静态库的创建:
创建:
gcc –c 源文件.c
ar rcs 静态库名 目标文件1 目标文件2
rc:静态库不存在,就创建该库文件
s:更新库文件
注:1.静态库名命名时以lib开头后跟想命的文件名如 libhello.a libmain.c libput.a 等。
2.目标文件后缀名为 .o 如:mian.o div.o mul.o等。
以分开的一个加减乘除运算来作为例子
步骤;
一. 编写div.c add.c sub.c mul.c main.c函数
*****************************
int div(int a, int b)
{
return a/b;
}
******************************
int add(int a,int b)
{
return a+b;
}
********************************
int mul(int a ,int b)
{
return a * b;
}
*******************************
int sub(int a,int b)
{
return a - b;
}
******************************
#include <stdio.h>
int main()
{ int a,b;
printf("please input a and b:");
scanf("%d%d",&a,&b);
printf("a + b = %d\n",add(a,b));
printf("a - b = %d\n",sub(a,b));
printf("a / b = %d\n",div(a,b));
printf("a * b = %d\n",mul(a,b));
return 0;
}
**********************************
二.执行gcc -c div.c add.c sub.c mul.c main.c 产生div.o add.o sub.o mul.o main.o 文件
三.执行ar rcs libmain.a div.o add.o sub.o mul.o main.o 产生libmain.a文件
四.执行gcc main.c -L. -lmain 产生a.out 或者执行gcc -o main main.c -L. -lmain 产生main 文件(-o filename 为将输出相应的文件名,内容不变)
五. 使用 ./a.out 或 ./main 即可产生结果