linux下构建 静态函数库(.a)

一.静态库构建
1.定义两个函数文件
say.c
#include<stdio.h>
void say(char *arg)
{
   printf("say:%s\n",arg);
}

write.c
#include<stdio.h>
void write(char *arg)
{
   printf("write:%s\n",arg);
}

2.编译这两个文件
gcc -c say.c write.c
产生say.o write.o
-c作用是阻止编译器创建一个完整的程序,因为没有Main函数

3.打包归档
ar crv libmy.a say.o write.o
产生libmy.a归档文件

4.使用归档文件
  编写库的头文件
  libmy.h
  void write(char *);
  void say(char *);

  使用mainlib.c
  #include<stdlib.h>
  #include"libmy.h"
  int main()
  {
    say("hello");
    write("world");
  }
  gcc -c  mainlib.c
  gcc -o mainlib mainlib.o libmy.a
  运行
  ./mainlib

猜你喜欢

转载自yiranwuqing.iteye.com/blog/791690