Make 是一个命令工具,makefile是一个文本文件。
他们的关系是:
Make是一个解释makefile中的指令的命令工具,makefile的工作原理就是调用系统中的make命令解释当前的makefile。
下面是make一个简单的演示:
首先编写四个.c文件,分别取名 main.c foo1.c foo2.c foo3.c 这四个.c文件分别实现不同的功能,main.c为主函数 ;foo1.c实现字符串的输入;foo2.c实现删除字符串中某些字符;foo3.c输出处理后的字符串。
分别如下:
Main .c :
#include<stdio.h>
int main()
{
char c;
char str[20];
enter_string(str);
printf("The delete atring is:");
scanf("%c",&c);
delete_string(str,c);
print_string(str);
return 0;
}
Foo1.c:
#include<stdio.h>
int enter_string(char str[20])
{
printf("Input the strings:");
gets(str);
return 0;
}
Foo2.c
int delete_string(char str[],char ch)
{
int i,j;
for(i=j=0;str[i]!='\0',i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]='\0';
return 0;
}
Foo3.c
#include<stdio.h>
int print_string(char str[])
{
printf("Result: %s\n",str);
return 0;
}
程序很快就写完了,然后写入makefile:
all : main.c foo1.c foo2.c foo3.c
gcc main.c foo1.c foo2.c foo3.c -o all
其实,这短短的两行代码,出现了不少的问题,首先值得注意的是在上一行结束之后需要换行,然后输入tab键,并且不能要空格。Tab键告诉make此行是命令行。Make要按照命令行执行命令。
还有,如果命令行较长,我们可以用\分解多行,但是\后面不能加空格。
再编写玩make之后我们就可以执行程序了。直接在命令行中打入make。
所以十分的简单。Yeah~