c静态库建立 与 脚本文件静态库建立 的区别

一,c静态库的建立
1,建立两个.c文件
例:
vim 1.c //第一个子文件
#include<stdio.h>
int add(int x,int y)
{
return x+y;
}

vim 2.c //第二个子文件
#include<stdio.h>
int sub(int x,int y)
{
return x-y;
}

vim 3.c //建立一个包含两个子文件的头文件(建一个库)
#include<stdio.h>
#include"fun.h"
int main()
{
int a=20;b=10;
int c=20;b=10;
printf(“add=%d\n”,add(a,b));
printf(“sub=%d\n”,sub(c,d));
return 0;
}

vim fun.h //建立一个.h文件 包含两个子文件的头文件
#ifndef FUN_H //#ifdef俩空格FUN空格H俩空格
#define FUN_H //#define俩空格FUN空格H俩空格
int add(int x,int y);
int sub(int x,int y);
#endif

gcc -c -o *.o *.c //汇编.c子文件(按模板汇编每一个.c)
ar -rcs libfun.a *.o //打包
gcc 3.c -L./ -lfun //生成库 fun
./a.out //结果
二,脚本文件的静态库建立
vim 1.sh
#!/bin/sh
i=0;
while [ $i -lt 5 ]
do
echo $i
touch $i.c
let i++
done //生成5个.c文件(./1.sh查看结果)

for ((i=0;i<5;i++))
do
gcc -c -o $i.o $i.c
done //循环汇编.c文件成.o文件(./1.sh查看结果)

ar -rcs libfun.a *.o //生成一个fun库文件(./1.sh查看结果 )

由上两种方法建立库 脚本文件快速且方便。

猜你喜欢

转载自blog.csdn.net/qq_41915323/article/details/85014013