库是二进制文件包含的代码能被程序调用,库有源码可以下载之后编译,也可以直接安装二进制包,一般放在 /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
本文详细介绍了C语言静态库的创建过程,包括从源代码到.o文件的编译,再到.ar文件的生成。通过示例代码解释了如何创建静态库并将其链接到主程序中,强调了静态库在运行时的优势和劣势。同时,总结了相关命令行工具的使用,如`gcc`和`ar`,帮助读者掌握静态库的制作技巧。
781

被折叠的 条评论
为什么被折叠?



