1.文件内容
add.c
int add(int a, int b){
return a + b;
}
sub.c
int sub(int a, int b){
return a - b;
}
add.h
#ifndef _ADD_H_
#define _ADD_H_
extern int add(int a, int b);
#endif
sub.h
#ifndef _SUB_H_
#define _SUB_H_
extern int sub(int a, int b);
#endif
main.c
#include "add.h"
#include "sub.h"
#include <stdio.h>
#include <math.h>
int main(){
int a=7,b=6,result;
result = add(a,b);
printf("\nadd:%d\n",result);
result = sub(a,b);
printf("sub:%d\n",result);
printf("sin(%d) = %lf\n",a,sin(a));
printf("cos(%d) = %lf\n\n",b,cos(b));
return 0;
}
2.文件结构
.
├── include
│ ├── add.h
│ └── sub.h
├── makefile
├── mymath
│ ├── add.c
│ └── sub.c
├── result
└── src
└── main.c
3.makefile文件内容
install:init libmymath.a
mv libmymath.a ./../lib
init:
mkdir -p ./../lib
libmymath.a:add.o sub.o
ar r libmymath.a mymath/*.o
add.o: mymath/add.c
gcc -c mymath/add.c -o mymath/add.o
sub.o: mymath/sub.c
gcc -c mymath/sub.c -o mymath/sub.o
main.o: src/main.c
gcc -c src/main.c -o src/main.o -I./include/
clean:
@echo "clean project"
rm -rf mymath/*.o
rm -rf src/*.o
rm -rf result/*
rm -rf ./../lib
@echo "clean complete"
#makefile
ttt: main.o
gcc src/main.o -o result/ttt -L./../lib -lm -lmymath
result/ttt
下载链接:https://download.youkuaiyun.com/download/weixin_42004975/18578388