linux怎么制作库文件,linux 制作静态库文件 *.a

windows上有静态库和动态库之说,且库的扩展名一般为.dll。在liunx系统中,同样有静态库(*.a)和动态库(*.so)。

所谓静态库:就是编译时已经链接好了,空间换取时间;而动态库是指运行时链接,时间换取空间。

linux生成静态库的步骤:

1、概述

静态库文件的扩展名一般为.a,其编写步骤很简单。

⑴编写函数代码

⑵编译生成各目标文件

⑶用ar文件对目标文件归档,生成静态库文件。

注意归档文件名必须以lib打头。

使用要点:

⑴在gcc 的-I参数后加上静态库头文件的路径。

⑵在gcc 的-L参数后加上库文件所在目录

⑶在gcc 的-l参数后加上库文件名,但是要去掉lib和.a扩展名。比如库文件名是libtest.a 那么参数就是 -l test

2、编写最简单的静态库文件

编写如下两个文件,注意放在同一目录中

myalib.h //静态库头文件

myalib.c //静态库实现文件

//myalib.h 文件的内容

void test();

//myalib.c 文件的内容

#inlcude

void test()

{

printf("test/n");

}

3、制作库文件

⑴生成目标文件

gcc -c myalib.c

执行完后会生成一个myalib.o文件

⑵用ar命令归档,格式为ar -rc <.o>

再次提醒,归档文件名一定要以lib打头, .a结尾。

ar -rc libtest.a myalib.o

执行完后会生成一个libtest.a文件

4、使用库文件

⑴编写一个测试程序main.c,内容为

//main.c 测试静态库调用的程序

#include "myalib.h"   //要把函数的头文件包含进来,否则编译时会报错

int main(int argc,char* argv[])

{

test();

return 0;

}

⑵编译目标文件,注意要把静态库头文件的路径加到-I参数里面

gcc -I /root/exercise -o main.o -c main.c

现在生成了一个main.o文件

⑶生成可执行文件,注意要把静态库文件的路径加到-L参数里面,  把库文件名(去掉打头的lib和结尾的.a)加到-l参数后面。如下面所示   gcc -o main -L/root/exercise   main.o -ltest   此时就会生成一个名为main的可执行文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值