Linux下制作静态链接库

静态链接库是在编译时刻由链接器使用的库文件,Linux下默认后缀名为.a的文件为静态库.静态库出现主要是为了方便调用一些常用的函数。

主要有两步:

1.编译源码

2.制作库

=====================================

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

1.编译源码

hello_first.c

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

hello_second.c

void hello_second(void)
{
 printf("hello second");
}

编译:

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

具体调用库实例

hello_main.c

#include <stdio.h>

void hello_first(void);

void hello_second(void);

int main()
{
 hello_first();
 hello_second();
 return 0;
}

编译:

第一种方法:

gcc hello_main.c libhello.a -o hello_main

第二中方法:

拷贝libhello.a到/lib目录下

gcc hello_main.c -lhello -o hello_main2

运行截图:

OK!静态库调用成功!!

思考:

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

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

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18655.html