如何在C中创建静态库?

时间:2014-11-23 12:02:27

标签: c

有两个文件sum.c&多尔我使用此命令创建了对象文件 gcc -c sum.c mul.c 。然后我创建了一个扩展名为id.h的头文件,其中包括sum.c和mul.c中函数的签名,即

int sum(int,int);
int mul(int,int);

我的主程序代码是

#include<stdlib.h>
#include<stdio.h>
#include "header.h"
void main(){
    printf("sum of 4 & 5 is %d ", sum(5,4));
    printf("mul of 4 & 5 is %d ", mul(5,4));
}

现在问题是如何创建文件库,即sum.c&amp; mul.c并链接到主程序。

1 个答案:

答案 0 :(得分:1)

静态库是在linux上使用ar或libtool在它上面创建的。对于普通的C,ar就足够了。例如:

gcc -c -g file1.c
gcc -c -g file2.c
ar -r libmylib.a file1.o file2.o

编译main并链接到lib:

gcc -c -g mymain.c
gcc -L. -o mymain mymain.o -lmylib