使用gcc熟悉静态库和动态库

使用gcc熟悉静态库和动态库

1.使用hello练习库

hello代码

hello.h

#ifndef HELLO_H
#define HELLO_H
void hello(const char *name);
#endif//HELLO_H

hello.c

#include<stdio.h>
void hello(const char *name)
{
printf(“Hello %s\n”,name);
}

main.c

#include"hello.h"
int main()
{
hello(“everyone”);
return 0;
}

静态库的使用

创建文件和写入代码

在这里插入图片描述

创建.o文件
在这里插入图片描述

创建静态库

在这里插入图片描述

使用静态库运行文件

在这里插入图片描述

删除静态库,运行文件
在这里插入图片描述

动态库的使用

创建动态库

在这里插入图片描述

执行动态库
在这里插入图片描述

静态库和动态库的比较

在这里插入图片描述

2.静态库的使用

代码

sub1.c

float x2x(int a,int b)
{
float c=0;
c=a+b;
return c;
}

sub2.c

float x2y(int a,int b)
{
float c=0;
c=a/b;
return c;
}

sub.h

#ifndef SUB_H
#define SUB_H
float x2x(int a,int b);
float x2y(int a,int b);
#endif

main.c

#include<stdio.h>
#include"sub.h"
void main()
{
int a,b;
printf(“Please input the value of a:”);
scanf("%d",&a);
printf(“Please input the value of b:”);
scanf("%d",&b);
printf(“a+b=%.2f\n”,x2x(a,b));
printf(“a/b=%.2f\n”,x2y(a,b));
}

生成sub1.o和sub2.o文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c9Toij7I-1633612576396)(C:\Users\无\AppData\Roaming\Typora\typora-user-images\image-20211006224030076.png)]

生成静态库

在这里插入图片描述

动态库的使用

生成动态库

在这里插入图片描述

比较生成的文件,发现静态库比动态库要小,生成的文件也有较大差异

3总结

这次对于静态库和动态库的练习,让我了解到了静态库和动态库的特点,对gcc也有了更加深入的了解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值