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

相关推荐
开开心心_Every27 分钟前
解决打印机共享难题的实用工具
linux·b树·安全·游戏·随机森林·pdf·计算机外设
江华森2 小时前
操作系统与 Linux 内核实战教程
linux·运维·服务器
齐潇宇2 小时前
Redis数据库基础
linux·数据库·redis·缓存
嵌入式学习和实践2 小时前
Ubuntu 系统 socat 详细介绍与使用教程 - 映射任意两种数据通道
linux·ubuntu·虚拟串口·数据映射·socat
小此方3 小时前
Re:Linux系统篇(二十八)文件篇·一:理解 Linux 文件基础I/O、Linux 文件操作与系统调用机制
linux·运维·服务器
likerhood3 小时前
Linux 服务器基础资源查看:CPU、GPU、内存、磁盘与一键检测脚本
linux·运维·服务器
小七在进步3 小时前
数据结构:线性表之顺序表
c语言·数据结构·算法
AOwhisky3 小时前
学习自测与解析:MySQL 系列第三期与第四期
linux·运维·数据库·学习·mysql·云计算
流浪0013 小时前
Linux系统篇(三):Linux 命令行参数 & 环境变量:程序和系统沟通的底层逻辑
linux·运维·服务器
caimouse3 小时前
Reactos 第 4 章 对象管理 — 4.2 对象类型(Object Type)
c语言·windows·架构