windows的库文件的后缀xxx.dll

linux下的库文件的后缀xxx.a  xxx.so

linux可以用命令ar 来创建

ar的命令参数:

c:如果目标文件不存在  则默认的就创建该库

r:把目标文件包含在库中 替换任何已经在档案中存在的同名的目标文件

编写头文件helloworld.h

#ifndef __libHelloWorld__H

#define __libHelloWorld__H

void printHelloWorld();

#endif

编写c文件helloworld.c

#include<stdio.h>

void printHelloWorld(){

printf("HelloWorld, here is  a static library\n");}

生成目标文件helloworld.o

gcc -o helloworld.c

生成静态库文件

ar rc libhelloworld.a helloworld.o

新建一个生成调用静态库文件的函数

useHelloworld.c

#include"helloworld.h"

void  main(int argc,char* argv[]){

printHelloWorld();

}

编写makefile

useHelloworld:useHelloworld.c

    gcc usehelloworld libhellowrold.a