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

相关推荐
Hello World . .1 分钟前
数据结构:数据结构基础、顺序表、链表
c语言·数据结构·vim
嵌入小生0074 分钟前
Data Structure Learning: Starting with C Language Singly Linked List
c语言·开发语言·数据结构·算法·嵌入式软件
wdfk_prog12 分钟前
[Linux]学习笔记系列 -- [drivers][clk]clk-bulk
linux·笔记·学习
刘某某.21 分钟前
在 mac 和 linux 系统上使用 pyenv
linux·运维·macos
杜子不疼.27 分钟前
加载了cpolar的Reader 电子书管理工具远程使用体验
linux·人工智能
weixin_3954489135 分钟前
mult_yolov5_post_copy.h_cursor_0129
linux·网络·人工智能
是垚不是土39 分钟前
OpenTelemetry+Jaeger+ES:分布式链路追踪实战部署
大数据·linux·运维·分布式·elasticsearch·全文检索
无垠的广袤1 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:人脸检测
linux·人工智能·python·opencv·开发板
定偶1 小时前
USB协议
c语言·网络·数据库
二年级程序员1 小时前
qsort函数的使用与模拟实现
c语言·数据结构·算法·排序算法