linux的Makefile使用
刚开始学linux下到Makefile,自娱自乐。
fun.c 文件
1 /******fun.c********/ 2 3 #include <stdio.h> 4 #include <stdarg.h> 5 #include <stdlib.h> 6 #include "a.h" 7 int add(int a, int b){ 8 if(a > 100 && b > 100) 9 ERROR(-1, "错误:a=%d,b=%d都超过了100\n", a, b); 10 if(a > 100) 11 ERROR(-1, "错误:a=%d超过了100\n", a); 12 if(b > 100) 13 ERROR(-1, "错误:b=%d超过了100\n", b); 14 return a + b; 15 } 16 int logging(int code, char *fmt,...){ 17 va_list list; 18 FILE *fp; 19 fp = fopen("./error.log","a+"); 20 if( fp == NULL){ 21 printf("error\n"); 22 exit(0); 23 } 24 va_start(list, fmt); 25 vfprintf(fp,fmt,list); 26 fclose(fp); 27 va_end(list); 28 return code; 29 }
1 /*****main.c********/ 2 #include <stdio.h> 3 int main(){ 4 int a, b, res; 5 printf("要求输入到两个数小于100,否则返回-1\n"); 6 while( scanf("%d %d", &a, &b) != EOF){ 7 res = add(a, b); 8 printf("%d\n", res); 9 } 10 return 0; 11 }
1 main : main.o fun.o 2 cc -o main main.o fun.o 3 main.o : main.c 4 cc -c main.c 5 fun.o : fun.c 6 cc -c fun.c 7 clean: 8 rm main.o fun.o
1 #ifndef _A_DEF 2 #define _A_DEF 3 4 #include <stdio.h> 5 #define ERROR return logging 6 int logging (int code, char *fmt,...);//变参 7 8 #endif