`
qvb3d
  • 浏览: 171328 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

创建一个linux 静态库

 
阅读更多

创建一个linux 静态库

1.我们先写一个简单的函数

  maxh.h 
 

int max(int a,int b);

 
  maxh.c

 

int max(int a,int b)
{
 return (a>b)?a:b;
}

 


  再写一个调用的

  testmain.c

 

#include <stdio.h>
#include "maxh.h"
int main(int argc,char *argv[])
{
int a,b;
printf("\nPlease input two num\n");
scanf("%d%d",&a,&b);
printf("\nThis Max is %d\n",max(a,b));
return 0;
}

 

 

2.写Makefile

 

CC=gcc
AR=ar
ALLOBJSRC=maxh
ALLOBJ=$(ALLOBJSRC).o
LIB_A=lib$(ALLOBJSRC).a
TARGET=testmain
MAINPRO=$(TARGET).o
all: $(ALLOBJ) $(MAINPRO)
	$(AR) -rcs $(LIB_A) $(ALLOBJ)
	$(CC) $(MAINPRO) -o $(TARGET) -I. -L. -l$(ALLOBJSRC)
$(ALLOBJSRC).o: $(ALLOBJSRC).c $(ALLOBJSRC).h
	$(CC) -c -I. -o $@ $<
$(MAINPRO): $(TARGET).c
	$(CC) -c -I. -o $@ $<
clean: $(ALLOBJ)
	rm -rf $(LIB_A) $(ALLOBJ) $(TARGET) $(MAINPRO)
#ar cs libmy.a  //create library
#ar rs libmy.a  xxx.o  //add module to library
#ar t libmy.a   //display module library
#ar d libmy.a   xxx.o  //delete module from library

 
  make

 

  ./testmain


 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics