Linux静态库的制作

Linux操作系统支持的函数库分为:

静态库,libxxx.a,在编译时就将库编译进可执行程序中。

优点:程序的运行环境中不需要外部的函数库。

缺点:可执行程序大

动态库,又称共享库,libxxx.so,在运行时将库加载到可执行程序中。

优点:可执行程序小。

Linux静态库的制作

1.对sub 库函数进行定义生成目标函数

gcc sub.c -c -o sub.o

2.使用静态函数库创建命令ar,创建sub.a

ar -cr filsub.o sub.a

3.创建静态库函数后 ,静态库的编译:gcc -o main.c -L. -lsub 编译main.c就会把静态函数库整合进main.

4.执行函数./a.out

创建主函数main.c

objectivec 复制代码
#include<stdio.h>
int main()
{
int x;
int y;
int ret;
x=10;
y=5;
ret=sub(x,y);
printf("sub is %d/n",ret);

return 0;
}

创建库函数sub.c

objectivec 复制代码
int sub(int x,int y)
{

        return (x-y);


}

如果直接执行 gcc main.c 会显示没有清晰定义sub:

对sub 库函数进行定义生成目标函数

gcc sub.c -c -o sub.o

目标函数生成成功后,使用静态函数库创建命令ar,创建sub.a

ar -cr filsub.o sub.a

生成静态库函数后 ,静态库的编译:gcc -o main.c -L. -lfile编译main.c就会把静态函数库整合进main.

首先生成a.out文件 : gcc -o main.c -L. -lfile

然后运行./a.out,就可以输出main.c里面的内容了

相关推荐
JustNow_Man9 分钟前
Cline中模型识别任务与clinerules相关性的实现逻辑
linux·运维·ubuntu
小白银子16 分钟前
零基础从头教学Linux(Day 56)
linux·运维·python
你想考研啊28 分钟前
Linux下搭建Activemq的Master-Slave(共享文件模式)
linux·运维·activemq
ajassi200032 分钟前
开源 Linux 服务器与中间件(十)Mqtt协议和Emqx服务器安装测试
linux·服务器·开源
道阻且长行则将至!1 小时前
ubuntu中为什么查看CPU的步进?查看命令是什么?
linux·运维·ubuntu·步进·stepping
MeowKnight9581 小时前
【Linux】常见的系统调用 函数和功能简单总结
linux·1024程序员节
Dobby_051 小时前
【Linux】安装 Rocky Linux 9 并配置 Kubernetes 集群基础环境 | VMware | Win11
linux·云原生·kubernetes
爱隐身的官人1 小时前
Ubuntu安装开源堡垒机JumpServer
linux·ubuntu·堡垒机·1024程序员节
杨筱毅2 小时前
【底层机制】Linux内核4.10版本的完整存储栈架构讲解--用户空间到物理设备完整IO路径
linux·架构·1024程序员节·底层机制
是苏浙2 小时前
零基础入门C语言之深入了解指针3
c语言·开发语言