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
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