首页 > 代码库 > linux c创建静态库(.a)
linux c创建静态库(.a)
静态库,也称作归档文件(archive),按惯例它们的文件是以.a结尾。
1.创建 sumadd.c文件
#include <stdio.h>
int sumadd(int a,int b)
{
return a+b;
}
创建 sumsub.c文件
#include <stdio.h>
int sumsub(int c,int d)
{
return c-d;
}
编译两个文件
$gcc -c sumadd.c sumsub.c 会产生sumadd.o sumsub.o 两个目标模块
2.创建program.c 调用代码
#include <stdio.h>
int main ()
{
int x = 0;
int y = 0;
x = sumadd(1,2);
y = sumsub(2,1);
printf("1+2=%d,2-1= %d \n",x,y);
return 1;
}
编译,链接
$gcc -c program.c
$gcc -o program program.o sumadd.o sumsub.o
$./program
1+2=3,2-1=1
3.生成静态库.a
$ar crv libtestsum.a sumadd.o sumsub.o
最终生成静态库 libtestsum.a
静态库的一个缺点是,当你同时运行程序并且它们都使用来自同一函数库时,内存中就会有同一函数的多份副本,而且在程序文自身中也有多份同样的副本。这将消耗大量宝贵的内存和磁盘空间。
linux c创建静态库(.a)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。