静态链接库是在编译时刻由链接器使用的库文件,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.