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里面的内容了

相关推荐
MaximusCoder15 分钟前
等保测评命令——达梦数据库 DM
linux·运维·数据库·安全·ffmpeg·安全威胁分析
桌面运维家16 分钟前
Linux VHD 更新指南:提升虚拟磁盘性能
linux·运维·服务器
Shining059618 分钟前
AI 编译器系列(四)《AI 编译器中的后端优化》
linux·服务器·人工智能·线性代数·算法·triton·ai编译器
pd_linux35 分钟前
【无标题】arm v8 速记
linux
sagima_sdu40 分钟前
主流开源大模型架构全景
大数据·linux·人工智能
Darth Nihilus43 分钟前
Raspberry Pi Compute Module Zero Development Board开发板(四)
linux·嵌入式硬件
Xzq2105091 小时前
Reactor模式
linux·网络
小鸡吃米…1 小时前
Python 中的并发 —— 进程池
linux·服务器·开发语言·python
星辰引路-Lefan1 小时前
全平台 Docker 部署 CPA(CLIProxyAPI Plus) 灵活定制指南 (Linux/Windows)——接入Codex
linux·windows·docker·ai·ai编程
历程里程碑1 小时前
40 UDP - 2 C++实现英汉词典查询服务
linux·开发语言·数据结构·c++·ide·c#·vim