刚开始学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 }
main.c文件
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 }
Makefile文件
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
a.h文件
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
分享到:
评论