Linux初步编程—创建静态函数库

  当我们在编写程序需要调用库函数时,要在程序代码中添加包含库函数声明的头文件,编译器和链接器会根据头文件将我们编写的程序代码与库函数所在的库文件连接起来,生成可执行文件。

  最简单的函数库可以看成是一些目标文件的“集合”。

  0.创建两个函数源文件

技术分享
1 #include <stdio.h>
2 
3 void text1(int a)
4 {
5     printf("%d",a);  
6 }
View Code
技术分享
1 #include <stdio.h>
2 
3 void text2(char *str)
4 {
5     
6       printf("%s",str);
7 }
View Code

  1.分别将两个函数源文件编译成目标文件。

gcc -c text1.c text2.c

技术分享.

  2.创建包含两个函数声明的头文件

  

技术分享
1 /* This is lib.h. It declares two functions
2 */
3 
4 void text1(int );
5 void text2(char *);
View Code

  3.编写测试程序,程序调用两个测试函数

技术分享
1 #include <stdio.h>
2 #include "lib.h"
3 
4 int main()
5 {
6       text1(1)7       text2("hello world\n")  
8 
9 }
View Code

  4.编译成目标文件,显式链接调用函数的目标文件

gcc -o text.o -c text.c
gcc -o text text.o text1.o text2.o
./text

技术分享

  5.将生成的两个函数目标文件集合在一起生成函数库

  

ar crv libtext.a text1.o text2.o

  6.为函数库生成内容表

ranlib libtext.a

技术分享

  7.对测试程序文件进行显示链接函数库生成可执行文件(否则编译器会到标准c库去查找进行链接)

技术分享

 也可以用-L来访问函数库,因为函数库没有放在标准位置 -L路径 -l=lib

技术分享

 

至此我们就完成了自己的一个函数库libtext.a了,并对它进行了测试。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。