【Linux】make 工具和 Makefile 文件的引入

前面提到了 gcc 编译器,那么使用 gcc 编译器肯定就会接触到 Makefile 。当源码文件比较多的时候就不适合通过直接输入 gcc 命令来编译,这时候就需要一个自动化的编译工具 make 。

举例:通过键盘输入两个整形数字,然后计算他们的和并将结果显示在屏幕上,在这个工程中我们有 main.c、input.c 和 calcu.c 这三个 C 文件和 input.h、calcu.h 这两个头文件,其中 main.c 是主体,input.c 负责接收从键盘输入的数值,calcu.h 进行任意两个数相加。
编辑 main.c
在这里插入图片描述

#include <stdio.h>
#include "input.h"
#include "calcu.h"

int main(int argc, char *argv[])
{
    
    
	int a, b, num;
	input_int(&a, &b);
	num = calcu(a, b);
	printf("%d + %d = %d\r\n",a, b, num);
	return 0;
}

在这里插入图片描述
编辑 input.c
在这里插入图片描述

#include <stdio.h>
#include "input.h"

void input_int(int *a, int *b)
{
    
    
	printf("input two num :");
	scanf("%d %d",a, b);
	printf("\r\n");
}

在这里插入图片描述
编辑 calcu.c
在这里插入图片描述

#include "calcu.h"

int calcu(int a, int b)
{
    
    
	return a + b;
}

在这里插入图片描述
编辑 input.h
在这里插入图片描述

#ifndef _INPUT_H
#define _INPUT_H

void input_int(int *a, int *b);

#endif

在这里插入图片描述
编辑 calcu.h
在这里插入图片描述

#ifndef _CALCU_H
#define _CALCU_H

int calcu(int a, int b);

#endif

在这里插入图片描述
运行一下程序看看;
在这里插入图片描述
可以看出,我们的代码已经执行出了我们需要的结果,使用命令

gcc main.c input.c calcu.c -o main

看起来很简单,只需要一行就可以完成编译,但是我们这个工程只有三个文件啊!如果是几千个、几万个文件呢?再就是如果只有一个文件被修改了,使用上面的命令编译的时候,所有的文件都会
重新编译,就会花费太多时间,这显然不现实。这个时候 make 工具和 Makefile 文件的价值就体现出来了。

猜你喜欢

转载自blog.csdn.net/ZSW2027008838/article/details/137395740