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

本文详细介绍了如何通过GCC和AR工具创建C静态库。首先,通过编写多个C源文件并定义函数,然后使用GCC编译生成目标文件。接着,利用AR工具将这些目标文件打包成静态库。最后,演示了如何在主程序中链接并使用这个静态库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,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查看结果 )

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值