红联Linux门户
Linux帮助

Linux下制作静态链接库

发布时间:2014-06-09 16:25:24来源:红联作者:velcbo
静态链接库是在编译时刻由链接器使用的库文件,Linux下默认后缀名为.a的文件为静态库.静态库出现主要是为了方便调用一些常用的函数。

主要有两步:

1.编译源码

2.制作库

以两个简单的源码为例,示范静态库制作的具体流程

1.编译源码[code]hello_first.c

void hello_first(void)
{
printf("hello first");
}

hello_second.c

void hello_second(void)
{
printf("hello second");
}[/code]编译:

gcc -c hello_first.c -o hello_first.o

gcc -c hello_second.c -o hello_second.o

2.制作静态库

ar -r libhello.a hello_first.o hello_second.o

具体调用库实例[code]hello_main.c

#include

void hello_first(void);

void hello_second(void);

int main()
{
hello_first();
hello_second();
return 0;
}[/code]编译:

第一种方法:

gcc hello_main.c libhello.a -o hello_main

第二中方法:

拷贝libhello.a到/lib目录下

gcc hello_main.c -lhello -o hello_main2

OK!静态库调用成功!

思考:

静态库作用是什么?为甚么要发明它?

1.静态库主要是用于方便程序员编程,将要使用的函数封装成库,只要告诉他们函数接口就可以了,这样程序员只要知道怎么调用就行了。而厂家可以保持接口不变,而对代码进行修改维护。

2.另外有可能是程序员自己将自己经常用到的函数封装起来,不用重复编写,只需调用前声明下就OK.

作者:jefbai
文章评论

共有 0 条评论