静态库的相关知识

本文详细介绍了C语言静态库的创建过程,包括从源代码到.o文件的编译,再到.ar文件的生成。通过示例代码解释了如何创建静态库并将其链接到主程序中,强调了静态库在运行时的优势和劣势。同时,总结了相关命令行工具的使用,如`gcc`和`ar`,帮助读者掌握静态库的制作技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

库是二进制文件包含的代码能被程序调用,库有源码可以下载之后编译,也可以直接安装二进制包,一般放在 /lib /usr/lib 目录下。

静态库:在链接过程中把静态库中的相关代码复制到可执行文件中

优点:程序中已包含代码,运行时不再要静态库。程序运行时无需加载库,运行速度更快。

缺点:占用了更多的磁盘空间和内存。静态库升级之后,程序需要重新编译链接。

静态库创建:

第一步:gcc -c filename.c 生成 filename.o

第二步:ar crs libfilename.a filename.o  其中lib和.a 是固定格式 

下面是示例代码:

creatlib.c

#include<stdio.h>

void prt()
{
	printf("I love China\n");
	return;
}

生成.o文件

 生成库文件

调用过程:

创建主函数文件 test.c

#include<stdio.h>

void prt();     //声明库中将要被调用的函数

int main()
{
	prt();	
	return 0;
}

编译及将库文件也链接进来,使用命令:gcc -o test test.c -L. -lcreatlib

 此时已经生成好可执行文件test,./test看结果。 

总结:

熟悉相关命令即可:

gcc -c filename.c                       //生成 filename.o

ar crs libfilename.a filename.o   //生成库文件libfilename.a

gcc -o xxx xxx.c -L. -lfilename    //链接静态库文件生成可执行文件xxx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值