linux的Makefile施用

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 }

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
linux的Makefile施用

相关文章:

你感兴趣的文章:

标签云: