在linux下我们都知道可以利用命令gcc hello.c -o hello 命令来变异c语言程序。其中gcc hello.c -o hello中 hello是给这个编译后生成的可执行文件取个别名 再利用./hello命令运行c程序。

可是如果c程序比较多呢?每个都这样编译太麻烦了,聪明的程序员想出了一个很好的工具,那就是make,利用make来实现同时编译。

首先,假设有3个文件

1.greeting.h

其中内容是

#ifndef _GREETING_H

#define _GREETING_H

void greeting(char *a);

#endif

2.greeting.c  //具体实现greeting.h的函数

#include<stdio.h>

#include"greeting.h"

void greeting(char *a)

{

  printf("Hello %s\n",a);

}

  

3.test.c //主程序,用来调用greeting(char *a)函数的

#include<stdio.h>

#include"greeting.h"

int main()

{

  char a[20] = "zzl oyxt";

  greeting(a);

}

  

接下来就是来写我们的Makefile了

vi Makefile进行文件编辑

test : greeting.o test.o

  gcc greeting.o test.o -o test

greeting.o: greeting.h greeting.c

  gcc -c greeting.c

test.o:test.c greeting.h

  gcc -c test.c

  

编辑完成保存之后,输入make命令,会生成一个可执行文件 test

那么执行./test就可以执行了。

05-11 18:20